python如何去除字符串中不想要的字符
問(wèn)題:
過(guò)濾用戶輸入中前后多余的空白字符
‘ ++++abc123--- ‘
過(guò)濾某windows下編輯文本中的'\r':
‘hello world \r\n'
去掉文本中unicode組合字符,音調(diào)
"Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"
如何解決以上問(wèn)題?
去掉兩端字符串: strip(), rstrip(),lstrip()
#!/usr/bin/python3 s = ' -----abc123++++ ' # 刪除兩邊空字符 print(s.strip()) # 刪除左邊空字符 print(s.rstrip()) # 刪除右邊空字符 print(s.lstrip()) # 刪除兩邊 - + 和空字符 print(s.strip().strip('-+'))
刪除單個(gè)固定位置字符: 切片 + 拼接
#!/usr/bin/python3 s = 'abc:123' # 字符串拼接方式去除冒號(hào) new_s = s[:3] + s[4:] print(new_s)
刪除任意位置字符同時(shí)刪除多種不同字符:replace(), re.sub()
#!/usr/bin/python3 # 去除字符串中相同的字符 s = '\tabc\t123\tisk' print(s.replace('\t', '')) import re # 去除\r\n\t字符 s = '\r\nabc\t123\nxyz' print(re.sub('[\r\n\t]', '', s))
同時(shí)刪除多種不同字符:translate() py3中為str.maketrans()做映射
#!/usr/bin/python3 s = 'abc123xyz' # a _> x, b_> y, c_> z,字符映射加密 print(str.maketrans('abcxyz', 'xyzabc')) # translate把其轉(zhuǎn)換成字符串 print(s.translate(str.maketrans('abcxyz', 'xyzabc')))
去掉unicode字符中音調(diào)
#!/usr/bin/python3 import sys import unicodedata s = "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng" remap = { # ord返回ascii值 ord('\t'): '', ord('\f'): '', ord('\r'): None } # 去除\t, \f, \r a = s.translate(remap) ''' 通過(guò)使用dict.fromkeys() 方法構(gòu)造一個(gè)字典,每個(gè)Unicode 和音符作為鍵,對(duì)于的值全部為None 然后使用unicodedata.normalize() 將原始輸入標(biāo)準(zhǔn)化為分解形式字符 sys.maxunicode : 給出最大Unicode代碼點(diǎn)的值的整數(shù),即1114111(十六進(jìn)制的0x10FFFF)。 unicodedata.combining:將分配給字符chr的規(guī)范組合類作為整數(shù)返回。 如果未定義組合類,則返回0。 ''' cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) #此部分建議拆分開來(lái)理解 b = unicodedata.normalize('NFD', a) ''' 調(diào)用translate 函數(shù)刪除所有重音符 ''' print(b.translate(cmb_chrs))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python讀取csv和txt數(shù)據(jù)轉(zhuǎn)換成向量的實(shí)例
今天小編就為大家分享一篇python讀取csv和txt數(shù)據(jù)轉(zhuǎn)換成向量的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02python使用cStringIO實(shí)現(xiàn)臨時(shí)內(nèi)存文件訪問(wèn)的方法
這篇文章主要介紹了python使用cStringIO實(shí)現(xiàn)臨時(shí)內(nèi)存文件訪問(wèn)的方法,涉及Python使用cStringIO模塊操作內(nèi)存的技巧,需要的朋友可以參考下2015-03-03Python使用微信SDK實(shí)現(xiàn)的微信支付功能示例
這篇文章主要介紹了Python使用微信SDK實(shí)現(xiàn)的微信支付功能,結(jié)合實(shí)例形式分析了Python調(diào)用微信SDK接口實(shí)現(xiàn)微信支付功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-06-06詳解Python常用標(biāo)準(zhǔn)庫(kù)之os模塊與shutil模塊
os系統(tǒng)模塊與shutil文件操作模塊是Python常用的標(biāo)準(zhǔn)庫(kù),本文將通過(guò)示例詳細(xì)講解一下二者的使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06Python項(xiàng)目管理工具Poetry使用示例詳解
這篇文章主要為大家介紹了Python項(xiàng)目管理工具Poetry使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn)
今天小編就為大家分享一篇python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12