【发布时间】:2010-09-13 21:57:01
【问题描述】:
如何在 Python 中用 unicode 字符串替换非 ascii 字符?
这是给定输入的输出:
音乐 -> 音乐
cartón -> 纸箱
caño -> cano
Myaybe 使用 dict,其中 'á' 是键,'a' 是值?
【问题讨论】:
如何在 Python 中用 unicode 字符串替换非 ascii 字符?
这是给定输入的输出:
音乐 -> 音乐
cartón -> 纸箱
caño -> cano
Myaybe 使用 dict,其中 'á' 是键,'a' 是值?
【问题讨论】:
如果您只想将重音字符降级为非重音字符:
>>> import unicodedata
>>> unicodedata.normalize('NFKD', u"m\u00fasica").encode('ascii', 'ignore')
'musica'
【讨论】:
NFKD 是做什么的?
现在,补充一下这个答案: 可能是您的数据不是以 unicode 形式出现的(即,您正在读取具有另一种编码的文件,并且您不能在字符串前面加上“u”)。这是一个可能也可以工作的 sn-p(主要适用于那些阅读英文文件的人)。
import unicodedata
unicodedata.normalize('NFKD',unicode(someString,"ISO-8859-1")).encode("ascii","ignore")
【讨论】: