python去除拼音聲調(diào)字母,替換為字母的方法
更新時間:2018年11月28日 09:35:15 作者:瓜而不皮
今天小編就為大家分享一篇python去除拼音聲調(diào)字母,替換為字母的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
第一種方法
import sys
import unicodedata
s = "Lǐ Zhōu Wú"
remap = {
# ord返回ascii值
ord('\t'): '',
ord('\f'): '',
ord('\r'): None
}
# 去除\t, \f, \r
a = s.translate(remap)
'''
通過使用dict.fromkeys() 方法構造一個字典,每個Unicode 和音符作為鍵,對于的值全部為None
然后使用unicodedata.normalize() 將原始輸入標準化為分解形式字符
sys.maxunicode : 給出最大Unicode代碼點的值的整數(shù),即1114111(十六進制的0x10FFFF)。
unicodedata.combining:將分配給字符chr的規(guī)范組合類作為整數(shù)返回。 如果未定義組合類,則返回0。
'''
cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) #此部分建議拆分開來理解
b = unicodedata.normalize('NFD', a)
'''
調(diào)用translate 函數(shù)刪除所有重音符
'''
print(b.translate(cmb_chrs))
第二種方法 (推薦)
import unicodedata
mystr='Lǐ Zhōu Wú'
unicodedata.normalize('NFKD', mystr).encode('ascii','ignore')
以上這篇python去除拼音聲調(diào)字母,替換為字母的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pandas中的DataFrame數(shù)據(jù)遍歷解讀
這篇文章主要介紹了pandas中的DataFrame數(shù)據(jù)遍歷解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
詳解Django+Uwsgi+Nginx的生產(chǎn)環(huán)境部署
這篇文章主要介紹了Django + Uwsgi + Nginx 的生產(chǎn)環(huán)境部署,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
python時間序列數(shù)據(jù)相減的實現(xiàn)
本文主要介紹了python時間序列數(shù)據(jù)相減的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04

