Python String rindex() 函数用法
2023-09-17 22:22:29
rindex()
方法与返回给定字符串中子字符串最后一次出现的索引的 rfind() 相同。但是,与 rfind()
方法不同,如果未找到子字符串,它会引发ValueError
。
语法:
str.rindex(substr, start, end)
参数:
- substr:(必需)需要查找其最后匹配项的索引的子字符串。
- start:(可选)搜索应从何处开始的起始索引位置。默认值为 0。
- end:(可选)到搜索应结束的位置的结束索引位置。默认值为字符串的结尾。
返回值:
一个整数值,指示指定子字符串最后一次出现的索引。
下面的示例演示rindex()
方法。
greet = 'Hello World!'
print('Index of H: ', greet.rfind('H'))
print('Index of o: ', greet.rindex('o'))
print('Index of l: ', greet.rindex('l'))
print('Index of World: ', greet.rindex('World'))
输出:
Index of H: 0
Index of o: 7
Index of l: 9
Index of World: 6
在上面的示例中,greet.rindex('H')
返回">Hello World"的最后一个索引,即 0,因为字符串中没有另一个"H"。
greet.rindex('o')
返回来自"Hello W o rld"的最后一个索引">o",即 7。
rindex()
方法仅返回上次出现的索引。
greet='Hello World'
print('Index of l: ', greet.rindex'l'))
print('Index of o: ', greet.rindex('o'))
mystr='python114.com is a free tutorials website'
print('Index of tutorials: ', mystr.rindex('tutorials'))
输出:
Index of l: 9
Index of o: 7
Index of tutorials: 27
rindex()
方法执行区分大小写的搜索。如果未找到子字符串,则会引发ValueError
。但是,如果未找到子字符串,则 rfind() 方法返回 -1。
greet='Hello World'
print(greet.rindex('h'))
输出:
Traceback (most recent call last):
greet.rindex('h')
ValueError: substring not found
使用 start
和 end
参数可以限制在指定的起始索引和结束索引之间搜索子字符串。
greet ='Hello World'
print(greet.rindex('o', 0, 10)) # start searching from 0 till 9th index
print(greet.rindex('o', 0, 5)) # start searching from 0 till 4th index
print(greet.rindex('o', -11, -6)) # start searching from -11th till -6th index
print(greet.rindex('o', -11, -3))# start searching from -11th till -3th index
输出:
7
4
4
7
在上面的示例中,greet.rindex('o', 0, 10)
返回 'Hello World' 的 7。
greet.rindex('o', 0, 5)
限制在第 5 个索引之前(直到第 4 个索引)的搜索,因此它为 'Hello' 返回 4