Подтвердить что ты не робот

Замените символы non-ascii из строки unicode в Python

Как заменить символы non-ascii из строки unicode в Python?

Это выходной сигнал я для данных входов:

música → musica

carton → carton

caño → cano

Myaybe с dict, где "á" - это ключ и "a" значение?

4b9b3361

Ответ 1

Если все, что вы хотите сделать, это разделить акцентированные символы на их эквивалент без акцента:

>>> import unicodedata
>>> unicodedata.normalize('NFKD', u"m\u00fasica").encode('ascii', 'ignore')
'musica'

Ответ 2

Теперь, чтобы дополнить этот ответ: Возможно, ваши данные не поступают в юникод (т.е. Вы читаете файл с другой кодировкой, и вы не можете префикс строки с "u" ). Вот фрагмент, который может работать тоже (в основном для чтения файлов на английском языке).

import unicodedata
unicodedata.normalize('NFKD',unicode(someString,"ISO-8859-1")).encode("ascii","ignore")