Skip to content

Instantly share code, notes, and snippets.

@maciekrb
Created July 17, 2012 06:55
Show Gist options
  • Save maciekrb/3127695 to your computer and use it in GitHub Desktop.
Save maciekrb/3127695 to your computer and use it in GitHub Desktop.
string sanitize
def sanitize(string,separator='-'):
string = string.lower()
string = unicodedata.normalize('NFKD',string).encode('ascii','ignore')
rx = re.compile('\W+')
string = rx.sub('',string.replace(' ','SP'))
sprx = re.compile(r'\s+')
string = sprx.sub('',string)
string = string.strip()
string = string.encode('ascii','ignore')
string = string.replace(' ','')
string = string.replace('SP',separator)
return string
def text2safeIdentifier(string,separator='_'):
rx = re.compile('\W+')
table = {
ord(u'á') : u'a',
ord(u'é') : u'e',
ord(u'í') : u'i',
ord(u'ó') : u'o',
ord(u'ú') : u'u',
ord(u'_') : unicode(separator)
}
string = rx.sub('',string.replace(' ','uuuu').translate(table)).encode('ascii','ignore').lower().strip(' ').replace('uuuu',separator)
return string
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment