def asciiconvert(user_input, enable_spechar=True):
"""
Converts user-input string into ASCII.
Returns a string with ASCII chars only
"""
SPECHAR_RE = r'[\s.?!:;§*^¨%$\|\[\]\(\)\{\}+=`~\'\"\\&]*'
accented_chars = [(r'[àäâ]*', 'a'),
(r'[éèëê]*', 'e'),
(r'[ìîï]*', 'i'),
(r'[òöô]*', 'o'),
(r'[ùûü]*', 'u'),
(r'[ÿ??]*', 'y')]
if not enable_spechar:
spechar = re.compile(SPECHAR_RE)
ans = spechar.findall(user_input)
if ans:
# Replacing all occurrences by an empty string
user_input = spechar.sub('', user_input, count=0)
re.purge()
for pattern, repl in accented_chars:
accented = re.compile(pattern)
# Replacing all occurrences by a non-accented char
user_input = accented.sub(repl, user_input, count=0)
re.purge()
return user_input
评论列表
文章目录