4-6节,python3应该如何去掉拼音的上标?
来源:4-6 如何去掉字符串中不需要的字符
慕运维2948618
2017-12-22
弄了很久,还是不会。
写回答
1回答
-
import unicodedata,sys u = 'èěéēàǎā' # 在python3中无法通过shell得知组合字符的ASCII~ # 首先使用unicodedata.normalize() 将原始输入标准化为分解形式字符 a = unicodedata.normalize('NFD',u) # 通过使用dict.fromkeys() 方法构造一个字典,每个Unicode和音调作为键,对应的值全部为None # sys.maxunicode : 给出最大Unicode代码点的值的整数,即1114111(十六进制的0x10FFFF)。 # unicodedata.combining:将分配给字符chr的规范组合类作为整数返回。如果未定义组合类,则返回0 # 这样我们就成功将所有组合类的值全部设置为None cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) # 再调用translate函数删除所有音调~ print(a.translate(cmb_chrs))112017-12-24
相似问题