Python 如何反向搜索字符串
在本文中,我们将学习如何在Python中反向搜索字符串。
第一种方法是使用内置的Python String类的 rindex() 方法。Python字符串 rindex() 方法返回给定字符串中任何子字符串的最高索引。
通过最高索引,我们的意思是,如果给定的子字符串在字符串中出现两次或三次, rindex() 方法将返回子字符串最右边或最后一次出现的索引。
此函数的主要缺点是,如果字符串中不包含子字符串,则会抛出异常。
示例1
在下面给出的示例中,我们输入一个字符串,并使用 ** rindex()** 方法查找某些特定字符的最后一个索引。
str1 = "Welcome to Tutorialspoint"
char = "Tutorial"
print("The given string is:")
print(str1)
print("Finding the last index of",char)
print(str1.rindex(char))
输出
上面示例的输出如下所示 −
The given string is:
Welcome to Tutorialspoint
Finding the last index of Tutorial
11
示例2
在下面给出的示例中,我们使用与上面相同的程序,但我们尝试不同的字符串作为输入 –
str1 = "Welcome to Tutorialspoint"
char = "Hello"
print("The given string is:")
print(str1)
print("Finding the last index of",char)
print(str1.rindex(char))
输出
上述示例的输出如下所示−
The given string is:
Welcome to Tutorialspoint
Finding the last index of Hello
Traceback (most recent call last):
File "C:\Users\Tarun\OneDrive\Desktop\practice.py", line 6, in
print(str1.rindex(char))
ValueError: substring not found
使用rfind()方法
有一个方法叫做rfind()可以用来克服rindex()的缺点。它的功能类似于rindex()方法,但是如果字符串中找不到给定的子字符串,该方法不会抛出异常,而是返回’-1’,表示未找到给定的子字符串。
示例1
在下面的示例中,我们输入一个字符串,并使用rfind()方法找出特定字符的最后一个索引位置。
str1 = "Welcome to Tutorialspoint"
char = "Tutorial"
print("The given string is:")
print(str1)
print("Finding the last index of",char)
print(str1.rfind(char))
输出
上面示例的输出如下所示−
The given string is:
Welcome to Tutorialspoint
Finding the last index of Tutorial
11
示例2
在下面给出的示例中,我们使用与上面相同的程序,但尝试不同的字符串作为输入。
str1 = "Welcome to Tutorialspoint"
char = "Hello"
print("The given string is:")
print(str1)
print("Finding the last index of",char)
print(str1.rfind(char))
输出
上述示例的输出如下所示:
The given string is:
Welcome to Tutorialspoint
Finding the last index of Hello
-1