拉丁字母到英语字母哈希

5 投票
1 回答
2794 浏览
提问于 2025-04-16 08:55

我需要把所有的拉丁字母转换成对应的英文字母。我可以用Python来做到这一点吗?或者有没有现成的映射表?

把Unicode值转换成非Unicode字符

Ramírez Sánchez应该转换成Ramirez Sanchez

1 个回答

13

看起来你想要的是去掉重音符号。你可以用下面的代码来实现:

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('ø')
'ø'

撰写回答