Методы find() и rfind() в Python

Методы find() и rfind() в Python: синтаксис, описание и примеры

Методы 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, то поиск будет производиться только в этом диапазоне индексов. Если эти аргументы не указаны, то поиск будет производиться во всей строке.

Примеры использования метода find()

Пример 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

Примеры использования метода rfind()

Пример 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

Отличия между find() и index()

Метод 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().

Содержание: