Метод Python rfind() находит подстроку в строке и возвращает наивысший индекс. Это означает, что он возвращает индекс самой правой совпадающей подстроки строки. Возвращает -1, если подстрока не найдена.
Что такое функция rfind() в Python?
Str.rfind() — это встроенный строковый метод обработки в Python, который возвращает наивысший индекс подстроки, переданной в функцию rfind() в качестве аргумента. Если эта подстрока отсутствует в основной строке, метод возвращает -1.
Передаются три аргумента, первый — это подстрока, начальный и конечный индексы основной строки, которую мы хотим найти. Задавать начальный и конечный индексы необязательно, и если мы их не указываем, по умолчанию принимается 0 и длина строки -1.
Синтаксис
|
1 |
str.rfind(substring, start_index, end_index) |
Здесь str — первичная строковая переменная. Подстрока — это часть основной строки, индекс которой мы найдем с помощью этого метода. Начальный и конечный индексы — это индекс, который представляет собой диапазон, в котором мы найдем подстроку.
Параметры
Метод принимает 3 параметра: первый — это substring, второй — starting index, а последний — ending index.
Возвращаемое значение
Возвращает самый высокий индекс подстроки в основной строке; если эта подстрока не найдена, возвращается -1.
Примеры программ по методу rfind() в Python
- Пример 1. Напишем программу, показывающую работу метода rfind() без использования начального и конечного индексов.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# app.py h1= "Hello I love AppDividend" h2= "AppDividend is the best site for learning" h3="Hello My name is David Letterman" h4="I love Python" h5="Python language doesn't bite" print("String: ",h1,"Highest Index: ",h1.rfind("love")) print("String: ",h2,"Highest Index: ",h2.rfind("for")) print("String: ",h3,"Highest Index: ",h3.rfind("David")) print("String: ",h4,"Highest Index: ",h4.rfind("Python")) print("String: ",h5,"Highest Index: ",h5.rfind("drink")) |
Вывод:
|
1 2 3 4 5 |
String: Hello I love AppDividend Highest Index: 8 String: AppDividend is the best site for learning Highest Index: 29 String: Hello My name is David Letterman Highest Index: 17 String: I love Python Highest Index: 7 String: Python language doesn't bite Highest Index: -1 |
- Пример 2. Напишем программу, показывающую работу метода rfind() с использованием начального и конечного индексов.
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# app.py h1 = "Hello I love AppDividend" h2 = "AppDividend is the best site for learning" h3 = "Hello My name is David Letterman" h4 = "I love Python" h5 = "Python language doesn't bite" print("String: ", h1, "Highest Index: ", h1.rfind("love", 3, 14)) print("String: ", h2, "Highest Index: ", h2.rfind("for", 6, 32)) print("String: ", h3, "Highest Index: ", h3.rfind("David", 3, 25)) print("String: ", h4, "Highest Index: ", h4.rfind("Python", 2, 14)) print("String: ", h5, "Highest Index: ", h5.rfind("drink", 3, 16)) |
Вывод:
|
1 2 3 4 5 |
String: Hello I love AppDividend Highest Index: 8 String: AppDividend is the best site for learning Highest Index: 29 String: Hello My name is David Letterman Highest Index: 17 String: I love Python Highest Index: 7 String: Python language doesn't bite Highest Index: -1 |
