7招秘籍: 教你玩轉(zhuǎn)Python字符串
xinxin?菜鳥學(xué)Python?
閱讀本文大概需要7分鐘:
日常使用python經(jīng)常要對文本進(jìn)行處理军拟,無論是爬蟲的數(shù)據(jù)解析,還是大數(shù)據(jù)的文本清洗,還是普通文件的處理寒屯,都是要用到字符串. Python對字符串的處理內(nèi)置了很多高效的函數(shù)埃撵,非常方便功能很強(qiáng)大.下面是我總結(jié)的常用的7招,有了這幾招就能輕松應(yīng)對字符串處理.
1.字符串的連接和合并
連接和合并
相加 //兩個字符串可以很方便的通過'+'連接起來
合并//用join方法
2.字符串的切片和相乘
相乘//比如寫代碼的時候要分隔符诱渤,用python很容易實(shí)現(xiàn)
line='*'*30
print(line)
>>******************************
切片
3.字符串的分割
普通的分割,用split
split只能做非常簡單的分割谈况,而且不支持多個分隔
phone='400-800-800-1234'
print(phone.split('-'))
>>['400', '800', '800', '1234']
復(fù)雜的分割
r表示不轉(zhuǎn)義,分隔符可以是;或者,或者空格后面跟0個多個額外的空格勺美,然后按照這個模式去分割
4.字符串的開頭和結(jié)尾的處理
?比方我們要查一個文件的名字是以什么開頭或者什么結(jié)尾
filename='trace.h'
print(filename.endswith('h'))
>>True
print(filename.startswith('trace'))
>>True
5.字符串的查找和匹配
一般查找
我們可以很方便的在長的字符串里面查找子字符串,會返回子字符串所在位置的索引, 若找不到返回-1
復(fù)雜的匹配
6.字符串的替換
普通的替換//用replace就可以
復(fù)雜的替換//若要處理復(fù)雜的或者多個的替換碑韵,需要用到re模塊的sub函數(shù)
7.字符串中去掉一些字符
去除空格//對文本處理的時候比如從文件中讀取一行赡茸,然后需要去除每一行的兩側(cè)的空格,table或者是換行符
line=' ?Congratulations, you guessed it. ?'
print(line.strip())
>>Congratulations, you guessed it.
?注意:字符串內(nèi)部的空格不能去掉祝闻,若要去掉需要用re模塊
復(fù)雜的文本清理,可以利用str.translate占卧,
先構(gòu)建一個轉(zhuǎn)換表,table是一個翻譯表联喘,表示把't''o'轉(zhuǎn)成大寫的'T' 'O',
然后在old_str里面去掉'12345',然后剩下的字符串再經(jīng)過table翻譯
最后說一下华蜒,我堅(jiān)持原創(chuàng),若我寫的對大家有幫助豁遭,麻煩大家給個鼓勵或者關(guān)注一下[菜鳥學(xué)python]叭喜,也是對我的一點(diǎn)鼓勵和動力。