教大家玩轉(zhuǎn)Python字符串處理的七種技巧
前言
日常使用python經(jīng)常要對(duì)文本進(jìn)行處理,無論是爬蟲的數(shù)據(jù)解析,還是大數(shù)據(jù)的文本清洗,還是普通文件的處理,都是要用到字符串. Python對(duì)字符串的處理內(nèi)置了很多高效的函數(shù),非常方便功能很強(qiáng)大.下面是我總結(jié)的常用的7招,有了這幾招就能輕松應(yīng)對(duì)字符串處理.
一、字符串的連接和合并
連接和合并
相加 //兩個(gè)字符串可以很方便的通過'+'連接起來
合并//用join方法
二、字符串的切片和相乘
相乘//比如寫代碼的時(shí)候要分隔符,用python很容易實(shí)現(xiàn)
line='*'*30 print(line) >>******************************
切片
三、字符串的分割
普通的分割,用split
split只能做非常簡單的分割,而且不支持多個(gè)分隔
phone='400-800-800-1234' print(phone.split('-')) >>['400', '800', '800', '1234']
復(fù)雜的分割
r表示不轉(zhuǎn)義,分隔符可以是;或者,或者空格后面跟0個(gè)多個(gè)額外的空格,然后按照這個(gè)模式去分割
四、字符串的開頭和結(jié)尾的處理
比方我們要查一個(gè)文件的名字是以什么開頭或者什么結(jié)尾
filename='trace.h' print(filename.endswith('h')) >>True print(filename.startswith('trace')) >>True
五、字符串的查找和匹配
一般查找
我們可以很方便的在長的字符串里面查找子字符串,會(huì)返回子字符串所在位置的索引, 若找不到返回-1
復(fù)雜的匹配
六、字符串的替換
普通的替換//用replace就可以
復(fù)雜的替換//若要處理復(fù)雜的或者多個(gè)的替換,需要用到re模塊的sub函數(shù)
七、字符串中去掉一些字符
去除空格//對(duì)文本處理的時(shí)候比如從文件中讀取一行,然后需要去除每一行的兩側(cè)的空格,table或者是換行符
line=' Congratulations, you guessed it. ' print(line.strip()) >>Congratulations, you guessed it.
注意:字符串內(nèi)部的空格不能去掉,若要去掉需要用re模塊
復(fù)雜的文本清理,可以利用str.translate
,
先構(gòu)建一個(gè)轉(zhuǎn)換表,table是一個(gè)翻譯表,表示把't''o'轉(zhuǎn)成大寫的'T' 'O',
然后在old_str里面去掉'12345',然后剩下的字符串再經(jīng)過table翻譯
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
pytest使用parametrize將參數(shù)化變量傳遞到fixture
這篇文章主要為大家介紹了pytest使用parametrize將參數(shù)化變量傳遞到fixture的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python實(shí)現(xiàn)名片管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)名片管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02Python實(shí)現(xiàn)Excel自動(dòng)分組合并單元格
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)Excel自動(dòng)分組合并單元格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02