站長(zhǎng)在線Python精講:在Python中檢索字符串的5大方法詳解
導(dǎo)讀:歡迎你來到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《在Python中檢索字符串的5大方法詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:使用count()方法檢索指定字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)、使用find()方法檢索是否包含指定的子字符串、使用index()方法檢索是否包含指定的子字符串、使用startswith()方法用于檢索字符串是否以指定子字符串開頭和使用endswith()方法用于檢索字符串是否以指定子字符串結(jié)尾。
永久美國(guó)免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長(zhǎng)在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
歡迎你來到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)python知識(shí),本文學(xué)習(xí)的是《在Python中檢索字符串的5大方法詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:使用count()方法檢索指定字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)、使用find()方法檢索是否包含指定的子字符串、使用index()方法檢索是否包含指定的子字符串、使用startswith()方法用于檢索字符串是否以指定子字符串開頭和使用endswith()方法用于檢索字符串是否以指定子字符串結(jié)尾。
在Python中,字符串對(duì)象提供了很多應(yīng)用于字符串查找的方法,站長(zhǎng)在線這里介紹采用的5個(gè)方法:
1、使用count()方法檢索指定字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。
我們?cè)凇?span >在python中對(duì)列表進(jìn)行統(tǒng)計(jì)和計(jì)算詳解》學(xué)過使用count()方法獲取指定的元素的出現(xiàn)次數(shù)。在這里也是可以檢索字符串的。
count()方法用于檢索指定字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。如果檢索的字符串不存在,則返回0,否則返回出現(xiàn)的次數(shù)。其語(yǔ)法格式如下:
str.count(sub[, start[, end]])
其中,相關(guān)參數(shù)說明如下:
str:表示原字符串;
sub:表示要檢索的子字符串;
start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;
end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾。
例如,定義一個(gè)字符串:“大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。”然后應(yīng)用count()方法檢索該字符串中“小妹”、“小麥”出現(xiàn)的次數(shù),代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小妹'
c = '小麥'
print('小妹出現(xiàn)的次數(shù):',a.count(b))
print('小麥出現(xiàn)的次數(shù):',a.count(c))
運(yùn)行結(jié)果如下:
小妹出現(xiàn)的次數(shù): 5
小麥出現(xiàn)的次數(shù): 2
>>>
當(dāng)檢索的關(guān)鍵字不存在時(shí),返回結(jié)果為0,代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小哥'
print('小哥出現(xiàn)的次數(shù):',a.count(b))
運(yùn)行結(jié)果如下:
小哥出現(xiàn)的次數(shù): 0
>>>
2、使用find()方法檢索是否包含指定的子字符串。
find()方法用于檢索是否包含指定的子字符串。如果檢索的字符串不存在,則返回?1,否則返回首次出現(xiàn)該子字符串時(shí)的索引。其語(yǔ)法格式如下:
str.find(sub[, start[, end]])
其中,相關(guān)參數(shù)說明如下:
str:表示原字符串;
sub:表示要檢索的子字符串;
start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;
end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾。
例如,定義一個(gè)字符串:“大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。”然后應(yīng)用find()方法檢索該字符串中“小妹”、“小麥”首次出現(xiàn)的索引位置,代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小妹'
c = '小麥'
print('小妹首次出現(xiàn)的索引位置:',a.find(b))
print('小麥?zhǔn)状纬霈F(xiàn)的索引位置:',a.find(c))
運(yùn)行結(jié)果如下:
小妹首次出現(xiàn)的索引位置: 3
小麥?zhǔn)状纬霈F(xiàn)的索引位置: 21
>>>
當(dāng)檢索的關(guān)鍵字不存在時(shí),返回結(jié)果為-1,代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小哥'
print('小哥首次出現(xiàn)的索引位置:',a.find(b))
運(yùn)行結(jié)果如下:
小哥首次出現(xiàn)的索引位置: -1
>>>
站長(zhǎng)在線特別提醒:Python的字符串對(duì)象還提供了rfind()方法,其作用與find()方法類似,只是從右邊開始查找。本教程就不再重復(fù)一次了。有的教程是獨(dú)立做一個(gè)方法的。
3、使用index()方法檢索是否包含指定的子字符串。
在Python中,index()方法與find()方法類似,也是用于檢索是否包含指定的子字符串。只不過如果使用index()方法,當(dāng)指定的字符串不存在時(shí)會(huì)拋出異常。其語(yǔ)法格式如下:
str.index(sub[, start[, end]])
其中,相關(guān)參數(shù)說明如下:
str:表示原字符串;
sub:表示要檢索的子字符串;
start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;
end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾。
例如,定義一個(gè)字符串:“大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥?!比缓髴?yīng)用index()方法檢索該字符串中“小妹”、“小麥”首次出現(xiàn)的索引位置,代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小妹'
c = '小麥'
print('小妹首次出現(xiàn)的索引位置:',a.index(b))
print('小麥?zhǔn)状纬霈F(xiàn)的索引位置:',a.index(c))
運(yùn)行結(jié)果如下:
小妹首次出現(xiàn)的索引位置: 3
小麥?zhǔn)状纬霈F(xiàn)的索引位置: 21
>>>
從過程和結(jié)果上看,index()方法與find()方法還真是一樣的,不同的地方在于,指定字符串沒有的情況下,拋出異常:如:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小哥'
print('小哥首次出現(xiàn)的索引位置:',a.index(b))
運(yùn)行結(jié)果如下:
Traceback (most recent call last):
File "D:\Python\Python310\Doc\000.py", line 3, in <module>
print('小哥首次出現(xiàn)的索引位置:',a.index(b))
ValueError: substring not found
>>>
我們?cè)凇?span >Python內(nèi)置異常速查表》中,知道:ValueError,就是傳入的值錯(cuò)誤。ValueError: substring not found就是 傳入的值錯(cuò)誤:未找到子字符串。
在前面的很多錯(cuò)誤都給出了解決方法,上面的錯(cuò)誤,修改如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小哥'
if b in a:
print('小哥首次出現(xiàn)的索引位置:',a.index(b))
else:
print('你要檢索的關(guān)鍵詞不存在')
運(yùn)行的結(jié)果為:
你要檢索的關(guān)鍵詞不存在
>>>
站長(zhǎng)在線特別提醒:Python的字符串對(duì)象還提供了rindex()方法,其作用與index()方法類似,只是從右邊開始查找。本教程就不再重復(fù)一次了。有的教程是獨(dú)立做一個(gè)方法的。今天再次重復(fù)的話,我的教程也太多了,提醒一下,大家知道就行。最好自己運(yùn)行代碼一下。
4、使用startswith()方法用于檢索字符串是否以指定子字符串開頭。
在Python中,使用startswith()方法用于檢索字符串是否以指定子字符串開頭。
如果是,則返回True,否則返回False。語(yǔ)法格式如下:
str.startswith(prefix[, start[, end]])
其中,相關(guān)參數(shù)說明如下:
str:表示原字符串;
prefix:表示要檢索的子字符串;
start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;
end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾。
例如,定義一個(gè)字符串:“大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥?!比缓髴?yīng)用startswith()方法檢索該字符串中“小妹”、“小麥”開頭的,代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小妹'
c = '小麥'
print('是否以小妹開頭:',a.startswith(b))
print('是否以小麥開頭:',a.startswith(c))
運(yùn)行結(jié)果如下:
是否以小妹開頭: False
是否以小麥開頭: False
>>>
我來修改一下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '小'
c = '大'
print('是否以小開頭:',a.startswith(b))
print('是否以大開頭:',a.startswith(c))
運(yùn)行結(jié)果:
是否以小開頭: False
是否以大開頭: True
>>>
5、使用endswith()方法用于檢索字符串是否以指定子字符串結(jié)尾
在Python中,可以使用endswith()方法用于檢索字符串是否以指定子字符串結(jié)尾。如果是,則返回True,否則返回False。語(yǔ)法格式如下:
str.endswith(suffix[, start[, end]])
其中,相關(guān)參數(shù)說明如下:
str:表示原字符串;
suffix:表示要檢索的子字符串;
start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;
end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾。
例如,定義一個(gè)字符串:“大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥?!比缓髴?yīng)用endswith()方法檢索該字符串中“?!?、“麥”結(jié)尾的,代碼如下:
a = '大妹和小妹,一起去收麥。大妹割大麥,小妹割小麥。大妹幫小妹挑小麥,小妹幫大妹挑大麥。大妹小妹收完麥,噼噼啪啪齊打麥。'
b = '。'
c = '麥'
print('是否以。結(jié)尾:',a.endswith(b))
print('是否以麥結(jié)尾:',a.endswith(c))
運(yùn)行結(jié)果如下:
是否以。結(jié)尾: True
是否以麥結(jié)尾: False
>>>
這說明,以字符串的標(biāo)點(diǎn)符號(hào)是計(jì)算進(jìn)去的,而不是漢字。只要是最后一個(gè)字符就行。
到此為止,本文《在Python中檢索字符串的5大方法詳解》內(nèi)容:使用count()方法檢索指定字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)、使用find()方法檢索是否包含指定的子字符串、使用index()方法檢索是否包含指定的子字符串、使用startswith()方法用于檢索字符串是否以指定子字符串開頭和使用endswith()方法用于檢索字符串是否以指定子字符串結(jié)尾。就全部講解完畢了,有問題的可以給我留言哦!
下一個(gè)知識(shí)點(diǎn),站長(zhǎng)在線分享的是《在Python中字符串對(duì)象中字母的大小寫轉(zhuǎn)換詳解》,歡迎你對(duì)站長(zhǎng)在線的關(guān)注,評(píng)論,點(diǎn)贊,轉(zhuǎn)發(fā)!
本文地址:http://003188.cn/pythonjiansuozifuchuan.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國(guó)虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡