07 Июл 2023
2 мин
4203

Методы поиска подстроки в строке в Python

Очень часто при работе со строками в Python возникает необходимость проверить, содержит ли данная строка определенную подстроку. Например, есть некоторый

Содержание

Очень часто при работе со строками в Python возникает необходимость проверить, содержит ли данная строка определенную подстроку. Например, есть некоторый текст, и необходимо узнать, встречается ли в нем слово «привет».

text = "Привет, мир! Это моя первая программа на Python."

Изначально может показаться, что для этого в Python должны быть методы типа string.contains или string.indexof, как в некоторых других языках программирования. Однако, в Python поиск подстроки в строке реализуется несколько иначе.

Оператор in

Самый простой и удобный способ проверить, содержит ли строка определенную подстроку, — использовать оператор in.

if "привет" in text:
   print("Слово 'привет' найдено в тексте")

Если подстрока присутствует в строке, выражение вернет True, иначе False.

Метод find

Если же необходимо узнать не только факт наличия подстроки, но и ее позицию в строке, можно воспользоваться методом find.

position = text.find("привет")
if position != -1:
   print(f"Слово 'привет' найдено в тексте на позиции {position}")

Метод find возвращает индекс первого вхождения подстроки в строку. Если подстрока не найдена, метод возвращает -1.

Метод index

Метод index работает похожим образом, что и find, но с одним отличием: если подстрока не найдена, index выбрасывает исключение ValueError.

try:
   position = text.index("привет")
   print(f"Слово 'привет' найдено в тексте на позиции {position}")
except ValueError:
   print("Слово 'привет' не найдено в тексте")

Таким образом, в Python действительно есть возможность проверить наличие подстроки в строке, а также узнать ее позицию. Для этого используются оператор in и методы find и index.

Содержание

Добавить комментарий

Определи профессию по рисунку