当我们需要在字符串中定位某个子串最后一次出现的位置时,可以使用Python中的rfind()函数。下面详细讲解该函数的作用。
rfind()函数的语法格式
str.rfind(sub[, start[, end]])
注意:中括号
[]
表示可选参数。
rfind()函数参数解析
参数 | 描述 |
---|---|
sub | 指定检索的字符串,不可省略。 |
start | 搜索的起始位置,如果不指定则默认从字符串的最后一个字符开始搜索,如果指定,要求必须是负数。 |
end | 搜索的结束位置,不包括对应位置的字符,如果不指定则默认到字符串的最开始,如果指定,要求必须是负数。 |
rfind()函数返回值
该函数返回子串在字符串中最后一次出现的位置,如果没有找到则返回-1。
rfind()函数使用示例
- 查找子串最后一次出现的位置
下面的代码示例中,我们将要搜索的字符串为s = 'The quick brown fox jumps over the lazy dog'
。我们使用rfind()函数来查找子串’b’最后一次出现的位置。
s = 'The quick brown fox jumps over the lazy dog'
n = s.rfind('b')
print(n)
输出结果为:
15
可以看到,子串'b'
最后一次出现的位置在第16个字符,因此返回值为15。
- 限制搜索区域
我们可以使用start和end来限制搜索的区域。下面的示例中,我们使用rfind()函数在字符串s = 'hello world!'
中查找子串'o'
最后一次出现位置,限制在索引2到索引9之间的区域内。
s = 'hello world!'
n = s.rfind('o', 2, 9)
print(n)
输出结果为:
4
可以看到,子串'o'
在区间[2,9)
内最后一次出现的位置在索引4处,因此返回值为4。