在使用字符串的時(shí)候通過使用一些方法能夠更方便我們進(jìn)行字符串的操作,我們來挑選一些常用的方法來進(jìn)行講解,其中基礎(chǔ)方法包含count()方法、find()方法和index()方法,然后我們分為測(cè)試方法、修改方法和搜索替換方法三個(gè)角度去介紹相關(guān)函數(shù)。
1. count()方法
我們通常使用count()方法來統(tǒng)計(jì)字符串中的某個(gè)元素在字符串中出現(xiàn)的次數(shù),如果不存在返回0,如果存在則返回存在的次數(shù),語(yǔ)法格式如下:
my_str.count(x)
my_str為我們要檢索的字符串名,x為我們要統(tǒng)計(jì)的字符。
看下面的例子:
>>> my_str 'www.sztianhecheng.cn' >>> my_str.count('w') 3 >>> my_str.count('.') 2 >>> my_str.count('p') 2 >>> my_str.count('*') 0
返回的數(shù)字即該字符在字符串中出現(xiàn)的次數(shù),因?yàn)椤?’不存在,所以返回值為0。
2. find()方法
find方法來檢索字符串中是否包含指定元素,如果包含該元素則返回該元素第一次出現(xiàn)的索引位置,如果不存在該字符則返回-1,它的語(yǔ)法結(jié)構(gòu)為:
my_str.find(x)
my_str為要檢索的字符串名,x為我們要尋找的元素。
看下面的例子:
>>> my_str 'www.sztianhecheng.cn' >>> my_str.find('w')#尋找字符w 0 >>> my_str.find('p')#尋找字符p 8 >>> my_str.find('m')#尋找字符m 13 >>> my_str.find('*')#尋找字符*,因?yàn)?不存在因而返回-1 -1
我們同樣可以采用關(guān)鍵字in來查詢指定字符是否存在于指定字符串中,如果字符串中存在指定字符則返回True,如果不存在則返回False。
看下面例子:
>>> my_str 'www.sztianhecheng.cn' >>> 'p' in my_str True >>> 'w' in my_str True >>> '.' in my_str True >>> '*' in my_str False
但是這種方式只能知道我們要訪問的元素是否存在,而不能獲取到它存在的位置,大家在學(xué)習(xí)過程中可以自主選擇方法去求解。
3. index()方法
index()方法和find()方法類似,index()方法在檢索到指定字符的時(shí)候也會(huì)返回該字符第一次出現(xiàn)的索引位置,但是如果檢索不到就會(huì)拋出異常,它的語(yǔ)法格式為:
my_str.index(x)
my_str為要檢索的字符串名,x為要尋找的元素。
看下面的例子:
>>> my_str = 'www.sztianhecheng.cn' >>> my_str.index('w') 0 >>> my_str.index('o') 5 >>> my_str.index('*') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
找到存在的元素后會(huì)返回其在字符串中的索引位置,最后一個(gè)‘*’因?yàn)闆]找到而報(bào)錯(cuò)。
4. 標(biāo)準(zhǔn)格式
上面三種方法為他們的省略格式,在標(biāo)準(zhǔn)文檔中,他們的格式分別為:
my_str.count(x[,start[,end]]) my_str.find(x[,start[,end]]) my_str.index(x[,start[,end]])
在上面講解的時(shí)候我們沒有提到括號(hào)中的內(nèi)容,因?yàn)樵赑ython文檔中‘‘[]’’表示可以省略部分,因此這一部分是可以省略不寫的,但是我們?cè)谑褂玫臅r(shí)候,還是可以使用的,start為索引的起始位置,end為索引的結(jié)束位置,但是不包含end。
我們來通過例子講解一下標(biāo)準(zhǔn)格式:
>>> my_str = 'www.sztianhecheng.cn' >>> my_str.index('o',6,13)#在6-12之間尋找o 12 >>> my_str.count('w',0,5)#統(tǒng)計(jì)w在0-4之間存在的次數(shù) 3 >>> my_str.find('c',3,9)#在3-8之間尋找7 7
標(biāo)準(zhǔn)格式的使用看似比較復(fù)雜,但是使用起來卻十分方便的。
C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程
解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程