Python: эффективный метод замены акцентов (от é до e), удаления [^ a-zA-Z \ d \ s] и lower () [duplicate]
На этот вопрос уже есть ответ здесь:
Каков наилучший способ удалить акценты в строке Unicode Python? 9 ответовИспользование Python 3.3. Я хочу сделать следующее:
замените специальные алфавитные символы, такие как e sharp (é) и o circleflex (ô) на базовый символ (например, от o до o)удалить все символы, кроме буквенно-цифровых и пробелов между буквенно-цифровыми символамипреобразовать в нижний регистрЭто то, что я до сих пор:
mystring_modified = mystring.replace('\u00E9', 'e').replace('\u00F4', 'o').lower()
alphnumspace = re.compile(r"[^a-zA-Z\d\s]")
mystring_modified = alphnumspace.sub('', mystring_modified)
Как я могу улучшить это? Эффективность - большая проблема, особенно потому, что я в настоящее время выполняю операции внутри цикла:
# Pseudocode
for mystring in myfile:
mystring_modified = # operations described above
mylist.append(mystring_modified)
Размер файлов составляет около 200 000 символов каждый.