2010-12-22 114 views
0

我必須將所有拉丁字符轉換爲相應的英文字母。我可以使用Python來做到這一點嗎?還是有可用的映射?拉丁語至英語字母哈希

Unicode值到非Unicode字符

Ramírez Sánchez應轉換爲Ramirez Sanchez

+1

英文字母*是*拉丁字母。你可以說得更詳細點嗎? – 2010-12-22 18:55:08

回答

4

它看起來像你想要的是口音刪除。你可以這樣做:

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