如何在 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月7日

3K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告