Хэширование латиницы в английский алфавит - PullRequest
2 голосов
/ 22 декабря 2010

Я должен преобразовать все латинские символы в соответствующие им английские алфавиты. Могу ли я использовать Python для этого? Или есть сопоставление доступно?

Значения Unicode для не-Unicode символов

Ramírez Sánchez следует преобразовать в Ramirez Sanchez.

1 Ответ

6 голосов
/ 22 декабря 2010

Похоже, что вы хотите, это удаление акцента.Вы можете сделать это с помощью:

def strip_accents(text):
    return ''.join(char for char in
                   unicodedata.normalize('NFKD', text)
                   if unicodedata.category(char) != 'Mn')

>>> strip_accents('áéíñóúü')
'aeinouu'
>>> strip_accents('Ramírez Sánchez')
'Ramirez Sanchez'

Это хорошо работает для испанского, но обратите внимание, что это не всегда работает для других языков.

>>> strip_accents('ø')
'ø'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...