如何在 Python 中反向搜索字符串?


在本文中,我们将了解如何在 Python 中反向搜索字符串。

第一种方法是使用内置的 Python 字符串类的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

更新于: 2022-12-07

3K+ 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告