Методы find()
и rfind()
являются встроенными методами строк в Python, которые позволяют находить подстроки в строке. Метод find()
возвращает индекс первого вхождения подстроки, а метод rfind()
возвращает индекс последнего вхождения подстроки. Оба метода возвращают -1, если подстрока не найдена.
Синтаксис метода find()
выглядит следующим образом:
str.find(sub[, start[, end]])
Здесь str
— это исходная строка, sub
— это подстрока, которую нужно найти. start
и end
— необязательные параметры, которые указывают диапазон индексов в строке, в котором нужно искать подстроку.
Метод rfind()
работает аналогично, но ищет последнее вхождение подстроки в строку, начиная с конца строки.
Синтаксис метода rfind()
выглядит так:
str.rfind(sub[, start[, end]])
Здесь str
, sub
, start
и end
имеют те же значения, что и в методе find()
.
Оба метода возвращают индекс первого (или последнего) вхождения подстроки в строку. Если подстрока не найдена, то метод возвращает -1. Если указаны аргументы start
и end
, то поиск будет производиться только в этом диапазоне индексов. Если эти аргументы не указаны, то поиск будет производиться во всей строке.
Пример 1: Поиск подстроки в строке
text = "Hello, World!"
substring = "World"
index = text.find(substring)
print(index)
#7
Пример 2: Поиск подстроки в строке с заданными начальным и конечным индексами
text = "Hello, World! World!"
substring = "World"
index = text.find(substring, 8, 20)
print(index)
#14
Пример 3: Поиск последнего вхождения подстроки в строке
text = "Hello, World! World!"
substring = "World"
index = text.rfind(substring)
print(index)
#14
Пример 4: Поиск последнего вхождения подстроки в строке с заданными начальным и конечным индексами
text = "Hello, World! World! World!"
substring = "World"
index = text.rfind(substring, 0, 20)
print(index)
#14
Метод index()
также позволяет находить подстроки в строке, но, в отличие от методов find()
и rfind()
, вызывает исключение ValueError
, если подстрока не найдена. В свою очередь, методы find()
и rfind()
возвращают -1 в случае отсутствия подстроки.
Пример 5: Использование метода index()
для поиска подстроки
text = "Hello, World!"
substring = "World"
try:
index = text.index(substring)
print(index)
except ValueError:
print("Substring not found")
#7
Пример 6: Использование метода index()
для поиска отсутствующей подстроки
text = "Hello, World!"
substring = "Python"
try:
index = text.index(substring)
print(index)
except ValueError:
print("Substring not found")
#Substring not found
В этой статье мы рассмотрели методы find()
и rfind()
в Python, которые позволяют находить подстроки в строке. Изучили основной синтаксис этих методов и привели различные примеры их использования, такие как поиск первого и последнего вхождения подстроки, а также использование метода index()
.
Содержание: