Очень часто при работе со строками в Python возникает необходимость проверить, содержит ли данная строка определенную подстроку. Например, есть некоторый текст, и необходимо узнать, встречается ли в нем слово «привет».
text = "Привет, мир! Это моя первая программа на Python."
Изначально может показаться, что для этого в Python должны быть методы типа string.contains
или string.indexof
, как в некоторых других языках программирования. Однако, в Python поиск подстроки в строке реализуется несколько иначе.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Оператор in
Самый простой и удобный способ проверить, содержит ли строка определенную подстроку, — использовать оператор in
.
if "привет" in text: print("Слово 'привет' найдено в тексте")
Если подстрока присутствует в строке, выражение вернет True
, иначе False
.
Метод find
Если же необходимо узнать не только факт наличия подстроки, но и ее позицию в строке, можно воспользоваться методом find
.
position = text.find("привет") if position != -1: print(f"Слово 'привет' найдено в тексте на позиции {position}")
Метод find
возвращает индекс первого вхождения подстроки в строку. Если подстрока не найдена, метод возвращает -1
.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Метод index
Метод index
работает похожим образом, что и find
, но с одним отличием: если подстрока не найдена, index
выбрасывает исключение ValueError
.
try: position = text.index("привет") print(f"Слово 'привет' найдено в тексте на позиции {position}") except ValueError: print("Слово 'привет' не найдено в тексте")
Таким образом, в Python действительно есть возможность проверить наличие подстроки в строке, а также узнать ее позицию. Для этого используются оператор in
и методы find
и index
.
Добавить комментарий