Поиск по сайту:
Знание некоторых принципов легко возмещает незнание некоторых фактов (К. Гельвеций).

Python. Поиск с помощью метода rfind()

13.03.2022
Python. Поиск с помощью метода rfind()

У нас есть стандартный встроенный метод в Python для сложных функций. Одним из них является метод rfind(), который работает противоположно методу find(). В методе find() мы возвращаем первый индекс совпадения, а метод rfind() возвращает указанную подстроку из последнего вхождения, наивысшую позицию индекса самой правой совпавшей подстроки из данной строки. Нам нужен метод rfind(), чтобы узнать позицию подстроки, заданной в основной строке. Поскольку метод rfind() чувствителен к регистру, он вернет -1, если подстрока не найдена. Чтобы понять функциональность, давайте посмотрим, как работает метод rfind() в программировании на Python.

 

Синтаксис rfind() в Python

Поскольку метод rfind() предназначен для поиска подстроки в заданной строке, синтаксис метода rfind(), который мы используем в python, выглядит следующим образом:

str.rfind( substr, start_index, end_index )

где « str » — первичная строковая переменная , а здесь «rfind()» представляет требуемый поиск, где передаются три аргумента ( substr , start_index , end_index )

 

Параметры, переданные в rfind()

Изначально в метод rfind() передаются три параметра. Первый параметр обозначается «substr», который указывает строку, которую необходимо найти в данной строке. Далее идет «start_index», который указывает начальный индекс, с которого начинается поиск. Если в start_index не передается значение, то по умолчанию его значение равно «0», поскольку значение индекса всегда начинается с нуля.

Последним параметром, переданным в метод rfind(), является «end_index», где поиск заканчивается, если в конечном индексе не передано значение, которое является длиной строки -1, принятой в качестве значения по умолчанию.

 

Возвращаемое значение в rfind()

Этот метод возвращает целочисленное значение, указывающее последнюю правую наивысшую позицию индекса подстроки, если подстрока уже существует внутри строки, или возвращает значение -1, если подстрока не существует в строке.

Читать  XOR двух строк в Python

 

Пример 1:

Это всего лишь базовый пример поиска последнего вхождения подстроки Orange в заданной строке. Мы обозначили основную строку переменной «str1», имеющей значения «Apple, Orange, Mango». Здесь «Result» — это еще одна переменная, которая принимает оранжевый цвет в качестве аргумента через метод str1.rfind(). Вывод программы отображается на экране с помощью функции print().

Str1 = 'Apple,Orange, Mango'

Result = Str1.rfind('Orange')

print("index of 'orange' in the string =",Result)

 

Выходное значение индекса равно «6» из строки, которая является наивысшим значением индекса последнего вхождения.

Python. Поиск с помощью метода rfind()

 

Пример 2:

Этот пример программы демонстрирует работу метода rfind() во всей строке. Пример метода инициализации строки первичной переменной «rfind()» с помощью «str2». В этом коде «Result» вернет самый высокий индекс подстроки «rfind()» и подстроки «example» из последнего вхождения. Функция print() поможет отобразить вывод.

Str2 = 'rfind() method example'

Result = str2.rfind('rfind')

print ("Substring 'rfind' index position :", Result )

Result = str2.rfind('example')

print ("Substring 'example' index position :", Result )

 

Отображение вывода позиции индекса подстроки «rfind», которая находится в «0», а подстрока «example» находится в позиции индекса «15»

Python. Поиск с помощью метода rfind()

 

Пример 3:

Теперь найдем метод rfind() в подстроке из этого примера. Взяв «Python methods» в виде строки и назначив ее переменной «str3». Найдем индексы букв «P», «h» и слова «methods» из «str3». Мы получим самый правый индекс из этих соответствующих букв в данной строке.

Str3='Python methods'

print("Index of 'P': ", str3.rfind('P'))

print("Index of 'h': ", str3.rfind('h'))

print("Index of 'methods': ", str3.rfind('methods'))

 

Читать  Python. встроенный If-Else

Мы получаем вывод после запуска этой программы, значение индекса «p» в 0, «h» в 10 и слово «methods» в позиции 7.

Python. Поиск с помощью метода rfind()

 

Пример 4:

Во всех приведенных выше примерах мы находим индексы подстроки. Ограничение не установлено, но теперь мы установим ограничение подстроки, задав значение начального индекса и конечное значение индекса, чем метод rfind() будет искать только в заданном диапазоне.

В этом конкретном коде «str1» дал «Finding the index of this string». Из этого «str1» мы должны найти позицию «index», которую мы инициализируем с помощью «str2». Поскольку у нас есть первый оператор печати, str1.rfind() принимает только подстроку «str2», ограничение не установлено, поэтому по умолчанию он принимает ‘0’ в качестве start_index и end_index будет длиной строки. Результат отображается после выполнения этой программы.

str1 = "Finding the index of this string";
str2 = "index";
print (str1.rfind(str2))

 

Результат передачи одного аргумента «str2» в методе rfind() отображается со значением индекса 12. Это означает, что «str2» имеет 12 индексов в строке.

Python. Поиск с помощью метода rfind()

 

Поскольку вывод приведенной выше запущенной программы показан без установки параметров начала и конца, если мы хотим найти среднюю позицию в строке, мы должны указать индексы начала и конца параметра.

Давайте напечатаем программу для «str1» и передадим аргумент «str2», который нужно найти, «start_index» имеет значение «5», а «end_index» — «20». Таким образом, поиск начинается между «5» и «20». Таким образом, вывод другого оператора и установка значений «strat_index» на «20» и «end_index» на «5» запустит поиск между «20» и «5».

str1 = "Finding the index of this string" ;
str2 = "index";

print (str1.rfind(str2, 5, 20))

print (str1.rfind(str2, 20, 5))

 

Читать  Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 3

Мы указали start_index и end_index в приведенной выше программе, поэтому мы получаем вывод, показанный ниже. Для последнего значения печати он возвращает значение -1. Это означает, что подстрока не находится в указанном диапазоне.

Python. Поиск с помощью метода rfind()

 

Пример 5:

Метод rfind() возвращает значение -1, если подстрока не найдена в заданной строке. Давайте запустим пример программы, которая вернет значение -1. В этом примере у нас есть строка «str5», и это строка «Этот язык программирования Python». В этой строке мы должны найти «python», которого нет в строке.

Давайте посмотрим, что будет на выходе из этого кода. Мы используем условие if-else, то есть, если подстрока «python» не равна -1, то функция print () отобразит «subtring found», а если условие ложно, то оператор else напечатает «subtring not found».

str5 = This is programming language code'
if (str5.rfind("python') != -1):
print ("subtring found ")
else:
print ("subtring not found")

 

На экране консоли вывода мы получили приведенный ниже вывод, который отображает «подстрока не найдена», поскольку слово python отсутствует в основной строке.

Python. Поиск с помощью метода rfind()

 

Заключение

По всем пунктам и с проверенными результатами приведенного выше примера мы подробно обсудили метод rfind(). Этот метод выполняет поиск справа и возвращает максимальное значение индекса подстроки из данной строки. Все эти примеры просты и работают на терминале Spyder, что поможет вам понять этот метод rfind().

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Можно печатать больше, чем Times New Roman и Helvetica. В следующем…

Спасибо!

Теперь редакторы в курсе.