2010-12-22 2 views
0

모든 라틴 문자를 해당 영어 알파벳으로 변환해야합니다. 파이썬을 사용하여 그것을 할 수 있습니까? 아니면 사용할 수있는 매핑이 있습니까? 비 유니 코드 문자라틴어에서 영어 알파벳 해시

Ramírez Sánchez

유니 코드 값은 Ramirez Sanchez로 변환해야합니다.

+1

영어 알파벳 *은 * 라틴 알파벳입니다. 더 자세하게 얘기해 주 시겠어요? –

+0

가능한 복제본 [파이썬 유니 코드 문자열에서 악센트를 제거하는 가장 좋은 방법은 무엇입니까?] (http://stackoverflow.com/questions/517923/what-is-the-best-way-to-remove-accents-in -a-python-unicode-string) –

답변

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