Как использовать Python для проверки наличия подстроки в строке?
Как проверить, содержит ли строка в Python подстроку
Если вам необходимо проверить, содержит ли строка подстроку, в Python используется оператор членства in
. Это рекомендуемый способ для подтверждения наличия подстроки в строке:
Результатом выполнения этого кода будет вывод сообщения “Найдено!”, поскольку подстрока “секрет” присутствует в переменной raw_file_content
.
Если вы хотите проверить, что подстрока не содержится в строке, то можно использовать оператор not in
:
Здесь результатом будет вывод сообщения “Подстрока не найдена!”, так как подстрока “секрет” присутствует в переменной raw_file_content
.
Обратите внимание, что оператор in
возвращает логическое значение:
True
, если подстрока была найденаFalse
, если подстрока не была найдена
Такое интуитивное использование оператора членства можно объединить с условными операторами для принятия решений в программе:
Обобщите проверку, исключив учет регистра
Наиболее распространенным требованием является проверка наличия подстроки без учета регистра символов. Для этого можно использовать метод lower()
, который переводит все символы строки в нижний регистр. Затем можно проверить, содержится ли подстрока в преобразованной строке:
В данном коде мы сначала преобразуем подстроку и строку raw_file_content
в нижний регистр, а затем проверяем наличие подстроки в преобразованной строке. Если подстрока найдена без учета регистра, то будет выведено сообщение “Подстрока найдена без учета регистра!“.
Узнайте больше о подстроке
Python предлагает множество встроенных методов для работы со строками. Если вам нужно узнать больше о подстроке, вы можете использовать следующие методы:
str.count(substring)
: возвращает количество непересекающихся вхождений подстроки в строкуstr.startswith(substring)
: проверяет, начинается ли строка с подстрокиstr.endswith(substring)
: проверяет, заканчивается ли строка на подстрокуstr.find(substring)
: возвращает индекс (позицию) первого вхождения подстроки в строку, или-1
, если подстрока не найдена
Вот примеры:
Запустите код выше и посмотрите, какими значениями будут переменные count
, starts_with
, ends_with
и index
.