Python 中的 rfind() 函数有助于返回给定子字符串在原始字符串中最后一次出现(即最高索引)的位置。如果未找到子字符串,函数将返回 -1。我们还可以指定搜索的起始和结束位置。
str.rfind(sub[, start[, end]] ) #where start & end are integer values
rfind() 函数接受三个参数。此方法与 rindex() 方法相似,不同之处在于,如果在 rindex() 方法中未找到子字符串,它将引发 ValueError 异常。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| sub | 要搜索的字符串 | 必需 |
| 开始 (start) | 开始搜索的位置。默认为 0 | 可选 |
| end | 结束搜索的位置。默认为字符串的末尾 | 可选 |
返回值始终是一个整数。rfind() 方法始终执行区分大小写的搜索。
| 输入 | 返回值 |
|---|---|
| 如果找到子字符串 | 整数(最高索引) |
| 如果未找到子字符串 | -1 |
string = "Hii, How are you."
# substring exist
val = string.rfind("o")
print("Substring1 index:", val)
# substring not exist
value = string.rfind("s")
print("Substring2 index:", value)
输出
Substring1 index: 14 Substring2 index: -1
string = "Python programming language"
# calling function
string2 = string.rfind("m",5) # Only starting index is passed
print("Substring index:", string2)
string2 = string.rfind("o",1,7) # Start and End both indexes are passed
print("Substring index:", string2)
输出
Substring index: 14 Substring index: 4