教大家玩轉(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只能做非常簡(jiǎn)單的分割,而且不支持多個(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
五、字符串的查找和匹配
一般查找
我們可以很方便的在長(zhǎng)的字符串里面查找子字符串,會(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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python入門教程(十八)Python的For循環(huán)
這篇文章主要介紹了Python入門教程(十八)Python的For循環(huán),Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下2023-04-04
Flask框架Flask-Principal基本用法實(shí)例分析
這篇文章主要介紹了Flask框架Flask-Principal基本用法,結(jié)合實(shí)例形式分析了Flask框架flask-principal擴(kuò)展的基本功能、安裝、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-07-07
Python基礎(chǔ)學(xué)習(xí)之函數(shù)方法實(shí)例詳解
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)之函數(shù)方法,結(jié)合實(shí)例形式分析了Python函數(shù)方法的定義、參數(shù)、復(fù)用和繼承相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn)
本文主要介紹了Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python循環(huán)定時(shí)中斷執(zhí)行某一段程序的實(shí)例
今天小編就為大家分享一篇python循環(huán)定時(shí)中斷執(zhí)行某一段程序的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
matplotlib?雙y軸繪制及合并圖例的實(shí)現(xiàn)代碼
這篇文章主要介紹了matplotlib?雙y軸繪制及合并圖例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10
對(duì)python特殊函數(shù) __call__()的使用詳解
今天小編就為大家分享一篇對(duì)python特殊函數(shù) __call__()的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07

