Замените символы, отличные от ascii, из строки unicode в Python
Как я могу заменить символы, отличные от ascii, из строки unicode в Python?
это выход, который я выделяю для заданных входов:
музыки -> Музыка
cartón - > carton
Каньо -> Кано
Myaybe с дикт где 'á' - это ключ и значение?
2 ответов
Если все, что вы хотите сделать, это ухудшить акцентированные символы до их не акцентированного эквивалента:
>>> import unicodedata
>>> unicodedata.normalize('NFKD', u"m\u00fasica").encode('ascii', 'ignore')
'musica'
теперь, просто чтобы дополнить этот ответ: Возможно, ваши данные не поступают в unicode (т. е. Вы читаете файл с другой кодировкой, и вы не можете префиксировать строку "u"). Вот фрагмент кода, который может работать (в основном для тех, кто читает файлы на английском языке).
import unicodedata
unicodedata.normalize('NFKD',unicode(someString,"ISO-8859-1")).encode("ascii","ignore")