在Python中用unicode字符串替换非ascii字符

Jua*_*nti 12 python ascii

如何在Python中用unicode字符串替换非ascii字符?

这是给定输入的输出:

música - >音乐

cartón - >纸箱

caño - > cano

Myaybe有一个字母,其中'á'是一个键,'a'是一个值?

lla*_*ram 21

如果您只想将重音字符降级为非重音等效字符:

>>> import unicodedata
>>> unicodedata.normalize('NFKD', u"m\u00fasica").encode('ascii', 'ignore')
'musica'
Run Code Online (Sandbox Code Playgroud)


fia*_*lli 7

现在,只是为了补充答案:可能是您的数据不是以unicode形式出现的情况(即您正在使用其他编码读取文件而您不能在字符串前加上"u").这是一个可能也有效的片段(主要用于那些阅读英文文件的人).

import unicodedata
unicodedata.normalize('NFKD',unicode(someString,"ISO-8859-1")).encode("ascii","ignore")
Run Code Online (Sandbox Code Playgroud)