国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python字符串右端查找函數rfind()函數的用法

2023-04-25 12:32:04
字體:
來源:轉載
供稿:網友

有時我們需要在一個字符串中查找子串,借助程序提供的相關函數可以方便的實現這一功能。

Python中提供了一系列函數可以實現該功能,如find()函數、index()函數。

但有時,我們可能需要從字符串的后端往前搜索子字符串,這與本站前面介紹的find()和index()函數默認從前端開始搜索不同(當然,這兩個函數通過指定負數索引可以實現從后端搜索)。

這篇文章將要介紹一個新的函數rfind()可以實現從字符串后端起查找子字符串的功能。

Python中rfind()函數的使用

一、rfind()函數的語法格式

Python中rfind()函數的語法格式如下:

str.rfind(sub[, start[, end]])

語法中,str是被搜索的字符串。

sub是必選參數,指要搜索的子字符串。

start是可選參數,用于指定在str中開始搜索的起始位置;

end是可選參數,用于指定在str中搜索的截止位置。

二、str.rfind()函數的返回值

如果在str中搜索到匹配的sub子串,則返回sub子串在str中的最大索引值,實際上就是最后出現sub時的位置索引引值。如果沒有找到sub子串,則返回-1.

如果讀者對于字符串索引的概念或方法不是很了解,可以參見這篇文章中介紹的有關內容:Python字符串的索引與訪問字符串中的字符。

三、str.rind()函數使用示例

1、只給出sub參數

str1 = "武林網VEVB,IT人的樂園"
pos1 = str1.rfind("IT")
print("pos1=", pos1)
pos2 = str1.rfind("樂園")
print("pos2=", pos2)
pos3 = str1.rfind("VeVb")
print("pos3=", pos3)

輸出結果如下:

pos1= 8
pos2= 12
pos3= -1

2、給定start參數

str1 = "武林網VEVB,IT人的樂園"
pos4 = str1.rfind("IT", 8)
print("pos4=", pos4)
pos5 = str1.rfind("IT", 9)
print("pos5=", pos5)
pos6 = str1.rfind("IT",-5)
print("pos6=", pos6)
pos7 = str1.rfind("IT", -6)
print("pos7=", pos7)

輸出結果如下:

pos4= 8
pos5= -1
pos6= -1
pos7= 8

從上面的演示例子和輸出結果可以得知:在查找子串時指定的start參數,是包括start處的字符的。上面pos4的例子中指定的start值為8,恰好是最后一個“IT”子串“I”字符所處的位置索引,所以能找到匹配的子串位置,并返回結果:pos4= 8。而在計算pos5時,指定的的start起始位置索引為9,是最后一個“IT”子串“T”字符處的索引,所以從T開始往后無法找到匹配的子串,則pos5= -1.

同時,可以發現rfind也支持負數索引,即從后往前定位的方法。

3、給定end參數

str1 = "武林網VEVB,IT人的樂園"
pos8 = str1.rfind("IT",0,7)
print("pos8=", pos8)
pos9 = str1.rfind("IT",7,len(str1))
print("pos9=", pos9)
pos10 = str1.rfind("IT",3,-7)
print("pos10=", pos10)

輸出結果如下:

pos8= 3
pos9= 8
pos10= 3
以上在Python3.8.2中運行的結果如下圖所示:

rfind()函數使用運行結果

四、rfind()與find()功能對比

rfind()函數是返回字符串中子字符串最后出現的位置,find()函數是返回字符串中子字符串首次出現的位置。兩者在未檢索到子字符串時都返回-1.

本文(完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹凤县| 江门市| 文成县| 武邑县| 白朗县| 鲁甸县| 贵德县| 乐业县| 安岳县| 天气| 温州市| 剑河县| 博野县| 玉山县| 彰化县| 当阳市| 紫云| 铜鼓县| 浏阳市| 石门县| 崇义县| 鞍山市| 潜江市| 东光县| 壤塘县| 新建县| 西青区| 玛纳斯县| 绩溪县| 乐山市| 巴彦淖尔市| 鄢陵县| 垦利县| 通榆县| 确山县| 阿鲁科尔沁旗| 礼泉县| 修文县| 兴安盟| 嘉禾县| 阳原县|