久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python字符串處理方法總結(jié)

 心靈地圖sxh 2019-01-27

一、前言

字符串處理是每一門(mén)編程語(yǔ)言的基本功,。我總結(jié)了一下字符串常用的處理方法,。

python由于早期專門(mén)編寫(xiě)了一個(gè)string模塊,后面又整合到字符串對(duì)象中,。所以python字符串處理有兩種:一種是直接處理,,一種是導(dǎo)入string模塊處理。為了向后兼容,,python一直保留著string模塊,。


為了方便,先聲明一下,。

以下已經(jīng)用 import string 導(dǎo)入string模塊;

用變量str代表字符串變量或字符串,;

三個(gè)>代表在控制臺(tái)輸入,。

我整理了一個(gè)目錄,可以直接點(diǎn)擊跳轉(zhuǎn),。


二,、字符串截取

這個(gè)字符串截取在python相當(dāng)方便,因?yàn)閜ython有切片器這個(gè)神奇的東西,,而且字符串實(shí)際是一個(gè)字符數(shù)組,。注意切片器是從0開(kāi)始的,需要兩個(gè)參數(shù)指定起始位置(類似于C#或Java的substring方法),,其中l(wèi)en函數(shù)是獲取字符串的長(zhǎng)度,。

1、左截取3個(gè)字符:str[:3]

2,、右截取3個(gè)字符:str[len(str)-3:]

3,、從中間第2個(gè)字符開(kāi)始截取3個(gè)字符:str[1:4]


三、字符串格式化

這個(gè)字符串格式化也是相當(dāng)重要的一個(gè)功能,。python中用%s和元組來(lái)搭配使用,。例如:

>>>"你好,我是%s,。來(lái)自%s" % ('楊仕航','地球')

可以得到輸出'你好,,我是楊仕航。來(lái)自地球'

當(dāng)然,,還有其他格式化符號(hào),,這個(gè)比較簡(jiǎn)單。大家可以百度搜索一下。我一般會(huì)偷懶直接用%s萬(wàn)能代替,。


四,、字符串填充

其實(shí)字符串填充是把不足位數(shù)的用指定字符填充進(jìn)去。嚴(yán)格來(lái)說(shuō),,也可以歸入到格式化里面,。為了系統(tǒng)化,我還是單獨(dú)把這一部分獨(dú)立出來(lái),。

這個(gè)有4個(gè)方法:center,、ljust、rjust,、zfill,,使用如下

>>>"abc".center(5,'-') #用-填充,中間填充

'-abc-'

>>>"abc".ljust(5,'-') #用-填充,,左邊填充

'abc--'

>>>"abc".rjust(5,'-') #用-填充,,右邊填充

'--abc'

>>>"abc".zfill(5)   #0值填充,右邊填充

'00abc'


五,、字母大小寫(xiě)轉(zhuǎn)換

字母大小寫(xiě)轉(zhuǎn)換個(gè)人用得比較少,,因?yàn)槠匠:苌偬幚碛⑽南嚓P(guān)東西。這部分一共有5個(gè)方法,。

1,、str.lower()    #把字母轉(zhuǎn)成小寫(xiě)

2、str.upper()    #把字母轉(zhuǎn)成大寫(xiě)

3,、str.swapcase()  #大小寫(xiě)互換

4,、str.capitalize() #句子首字母大寫(xiě)

5、str.title()    #每個(gè)單詞首字母大寫(xiě)

最后這個(gè)titile方法,,string模塊也有一個(gè)方法對(duì)應(yīng) string.capwords(str)


六,、字符串判斷

有時(shí)候,判斷字符串類型總是難免的,。下面這些方法都是返回布爾值,。

1、str.isalpha() #是否全是字母,,并至少有一個(gè)字符 

2,、str.isdigit() #是否全是數(shù)字,并至少有一個(gè)字符 

3,、str.isspace() #是否全是空白字符,,并至少有一個(gè)字符 

4、str.islower() #字母是否全是小寫(xiě) 

5,、str.isupper() #字母是否便是大寫(xiě) 

6,、str.istitle() #是否是首字母大寫(xiě)的 

7,、str.startwith(prefix[,start[,end]]) #是否以prefix開(kāi)頭 

8、str.endwith(suffix[,start[,end]])  #以suffix結(jié)尾 


但更多是時(shí)候只是判斷某個(gè)字符串是否包含某個(gè)字符,。這個(gè)可以用in方法判斷,,例如判斷'123'是否包含'3'

>>>'3' in '123'

True

也就是說(shuō),我們可以用一串字符串去判斷,,例如數(shù)字我就寫(xiě)'0123456789',。

當(dāng)然,這些不需要我們傻傻地一個(gè)一個(gè)去寫(xiě),。string模塊已經(jīng)提供好一些常量了,。看下一個(gè)部分內(nèi)容,。


七,、string模塊常量

string.digits    #數(shù)字0~9

string.letters    #所有字母(大小寫(xiě))

string.lowercase   #所有小寫(xiě)字母

string.printable   #可打印字符的字符串

string.punctuation   #所有標(biāo)點(diǎn)

string.uppercase   #所有大寫(xiě)字母

這些大家可以在控制臺(tái)直接輸出看看是什么東西。


八,、字符串查找

只是判斷是否包含某些字符串還不夠,,有時(shí)候還需要知道具體位置。這個(gè)就涉及到字符串查找了,。

1,、str.find(substr, [start, [end]])

返回str中出現(xiàn)substr的第一個(gè)字母的標(biāo)號(hào),如果str中沒(méi)有substr則返回-1,。start和end作用就相當(dāng)于在str[start:end]中搜索。

2,、str.rfind(substr, [start, [end]])

返回str中最后出現(xiàn)的substr的第一個(gè)字母的標(biāo)號(hào),,如果str中沒(méi)有substr則返回-1,也就是說(shuō)從右邊算起的第一次出現(xiàn)的,。

3,、str.index(substr, [start, [end]]) 

與find()相同,只是在str中沒(méi)有substr時(shí),,會(huì)返回一個(gè)運(yùn)行時(shí)錯(cuò)誤  

4,、str.rindex(substr, [start, [end]]) 

與rfind()相同,只是在str中沒(méi)有substr時(shí),,會(huì)返回一個(gè)運(yùn)行時(shí)錯(cuò)誤

5,、str.count(substr, [start, [end]]) #計(jì)算substr在str中出現(xiàn)的次數(shù)


九、字符串替換

1,、str.replace(oldstr, newstr, [count]) 

把str中的oldstar替換為newstr,,count為替換次數(shù)。

2,、str.strip([chars]) 

把str中左右兩邊包含chars中有的字符全部去掉,,可以理解為把str左右兩邊出現(xiàn)的chars替換為None 

3,、str.lstrip([chars])

把str中左邊包含chars中有的字符全部去掉,可以理解為把str左邊出現(xiàn)的chars替換為None 

4,、str.rstrip([chars]) 

把str中右邊包含chars中有的字符全部去掉,,可以理解為把str右邊出現(xiàn)的chars替換為None 

5、str.expandtabs([tabsize]) 

把str中的tab字符替換沒(méi)空格,,每個(gè)tab替換為tabsize個(gè)空格,,默認(rèn)是8個(gè) 


十、字符串分割和組合

這個(gè)我用得比較多,,也是字符串處理除了正則表達(dá)式之外使用比較靈活的東西,。

1、str.split([sep, [maxsplit]]) 

以sep為分隔符,,把S分成一個(gè)list,。maxsplit表示分割的次數(shù)。默認(rèn)的分割符為空白字符,。例如:

>>>'123-34-45436'.split('-')

['123', '34', '45436'] 

2,、str.rsplit([sep, [maxsplit]])

這個(gè)和str.splitlines([keepends]) 效果一樣,都是把str按照行分割符分為一個(gè)list,,keepends是一個(gè)bool值,,如果為真每行后而會(huì)保留行分割符。例如:

>>>'123\r234\n345'.rsplit()

['123', '234', '345']

3,、str.join(seq) 

把seq代表的序列──字符串序列,,用str連接起來(lái)。例如:

>>>''.join(['df', '234', 'd4'])

'df234d4'

>>>'-'.join(['df', '234', 'd4'])

'df-234-d4'


十一,、字符串轉(zhuǎn)數(shù)字

string模塊還包含相關(guān)字符串轉(zhuǎn)數(shù)字的方法,。如下

>>>string.atoi("123",10)  #轉(zhuǎn)成十進(jìn)制

123

>>>string.atoi("A",16)   #轉(zhuǎn)成十六進(jìn)制

10

>>>string.atof("123")    #轉(zhuǎn)成浮點(diǎn)型數(shù)字

123.0

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多