如何在Python中用unicode字符串替换非ascii字符?
这是给定输入的输出:
música - > MUSICA
cartón - >纸箱
caño - >卡诺
Myaybe有一个词典,其中'á'是一个键,'a'是一个值?
答案 0 :(得分:21)
如果您只想将重音字符降级为非重音等效字符:
>>> import unicodedata
>>> unicodedata.normalize('NFKD', u"m\u00fasica").encode('ascii', 'ignore')
'musica'
答案 1 :(得分:7)
现在,只是为了补充答案: 可能是您的数据不是以unicode形式出现的情况(即您正在使用其他编码读取文件,并且您不能在字符串前加上“u”)。这是一个可能也有效的片段(主要是那些阅读英文文件的人)。
import unicodedata
unicodedata.normalize('NFKD',unicode(someString,"ISO-8859-1")).encode("ascii","ignore")