Python String rfind() 方法搜索在原始字符串中找到的指定子字符串的最后一次出现的起始索引。与 rindex() 方法不同,如果子字符串不存在,则引发异常,此方法返回 -1。
该方法在两种情况下执行搜索:
它搜索从第 0 个索引到结束索引的整个字符串,或者 它搜索字符串的一部分,从第 i 个索引到第 j 个索引,其中 i < j。
语法
以下是 Python String rfind() 方法的语法 -
str.rfind(sub[, start[, end])
参数
- str − 指定要搜索的字符串。
- start − 这是起始索引,默认情况下为 0。
- end − 这是结束索引,默认情况下它等于字符串的长度。
返回值
如果找到,此方法返回最后一个索引,否则返回 -1。
例当我们将原始字符串的子字符串作为参数传递给方法时,返回值将是字符串中子字符串的索引。
以下示例显示了 Python String rfind() 方法的用法。在这里,我们创建一个字符串,比如 “This is a string”,并将这个字符串的子字符串,比如 “is”,作为参数传递给方法。该方法在输入字符串中查找此子字符串的索引。
str1 = "This is a string";
str2 = "is";
print("The index of substring:")
print(str1.rfind(str2))
当我们运行上述程序时,它会产生以下结果——
例
当我们将不属于原始字符串的子字符串作为参数传递给方法时,返回值将为 -1。
在此示例中,我们将创建一个字符串:“This is a string”作为输入,并将另一个字符串“Hello”作为参数传递给该方法。由于字符串不包含参数,因此该方法返回 -1。
str1 = "This is a string";
print("The index of substring:")
print(str1.rfind('Hello"'))
让我们运行上面的程序,输出如下 -
例
我们将可选参数传递给确定搜索范围的方法,该方法将返回该范围内字符串的出现。
在给定的程序中,我们采用一个字符串作为输入。我们将三个参数传递给此输入字符串上调用的方法:子字符串、开始索引和结束索引。该方法在限制内搜索指定的子字符串并返回索引。
str1 = "This is a string";
print("The index of substring:")
print(str1.rfind('is', 2, 5))
上述程序的输出如下 -
例
我们将可选参数传递给确定搜索范围的方法,并且子字符串不存在于给定范围内,该方法将返回 -1。
在给定的程序中,我们将三个参数传递给在创建的输入字符串上调用的方法:子字符串、开始索引和结束索引。该方法在限制内搜索指定的子字符串并返回索引。如果指定的限制中不存在子字符串,则返回值将为 -1。
str1 = "This is a string";
print("The index of substring:")
print(str1.rfind('st', 0, 10))
让我们运行程序以显示输出,如下所示 -