Python 字串 rindex() 方法



Python 字串方法rindex()搜尋給定子字串str在原始字串中最後出現的位置的索引。如果不存在這樣的索引,則此方法會引發異常,可以選擇性地將搜尋限制在字串長度內,即從第一個索引到最後一個索引。此方法與 rfind() 方法幾乎相同,但不同之處在於 rfind() 方法不會引發異常(ValueError),如果未找到子字串則返回 -1。

但是,如果同一個子字串出現多次,則該方法會找到最後一個出現的索引。

語法

以下是 Python 字串rindex()方法的語法:

str.rindex(str, beg=0 end=len(string))

引數

  • str - 指定要搜尋的字串。

  • beg - 這是一個可選引數,表示起始索引。預設為 0。

  • len - 這是一個可選引數,表示結束索引。預設為字串的長度。

返回值

如果找到,則此方法返回最後一個索引,否則如果未找到 str,則引發異常。

示例

當以兩個字串作為輸入,並且呼叫 rindex() 和 index() 方法時;index() 方法返回子字串第一次出現的位置的索引,而 rindex() 方法返回子字串最後一次出現的位置的索引。

以下示例顯示了 Python 字串 rindex() 方法的用法。

 
str1 = "this is string example....wow!!!";
str2 = "is";

print str1.rindex(str2)
print str1.index(str2)

執行以上程式時,會產生以下結果:

5
2

示例

當我們輸入一個字串並將另一個字串作為子字串引數傳遞時,該方法將返回子字串的最後一個索引。

在此示例中,我們建立一個字串並透過傳遞子字串作為引數來呼叫 rindex() 方法。

 
# inputting a string
string = 'Tutorialspoint is a great place to learn Python. Tutorialspoint is an ian company'
# finding the 'Tutorialspoint' using rindex
print(string.rindex('Tutorialspoint'))
# finding the 'is' using rfind
print(string.rindex('is'))

以上程式產生的輸出如下:

49
64

示例

如果我們向該方法傳遞三個引數(包括可選引數),則會檢測到給定索引限制內子字串的最後一個索引。

在此示例中,該方法在一個輸入字串上呼叫,並接受三個引數:要查詢的子字串、起始索引和結束索引。

 
# inputting a string
string = 'Tutorialspoint is a great place to learn Python. Tutorialspoint is an ian company'
# finding the 'Tutorialspoint' using rindex
print(string.rindex('Tutorialspoint', 0, 45))
# finding the 'is' using rfind
print(string.rindex('is', 0, 45))

讓我們執行以上程式,並獲取以下輸出:

0
15

示例

如果作為引數傳遞給該方法的子字串在字串中不存在,則該方法會引發 ValueError。

在給定的程式中,建立了一個字串並在其上呼叫該方法。作為引數傳遞給該方法的子字串不是輸入字串的一部分,該方法會引發異常。

 
# inputting a string
string = 'Tutorialspoint is a great place to learn Python. Tutorialspoint is an ian company'
# finding the 'Tutorialspoint' using rindex
print(string.rindex('tutorialspoint'))

當我們嘗試執行程式時,會引發 ValueError 而不是列印輸出:

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
 in 
3
4 # finding the 'Tutorialspoint' using rfind
----> 5 print(string.rindex('tutorialspoint'))
ValueError: substring not found

示例

即使子字串存在於字串中,但不在傳遞給此方法的可選引數提供的限制範圍內,也會引發 ValueError。

 
# inputting a string
string = 'Tutorialspoint is a great place to learn Python. Tutorialspoint is an ian company'
# finding the 'Tutorialspoint' using rindex
print(string.rindex('Python', 0, 15))

執行以上程式時,會產生以下結果:

Traceback (most recent call last):
  File "main.py", line 4, in 
print(string.rindex('Python', 0, 15))
ValueError: substring not found
python_strings.htm
廣告