Пропустить до содержимого

Как использовать str.contains в Python?

[

Как подтвердить, что в строке Python содержится другая строка

Если вам нужно проверить, содержит ли строка подстроку, используйте оператор членства Python in. В Python это рекомендуемый способ подтверждения наличия подстроки в строке:

raw_file_content = """Привет и добро пожаловать.
Это специальный скрытый файл с секретом.
Я не хочу тебе рассказывать о секрете,
но я хочу тебе потайно сказать, что у меня есть один."""
"секрет" in raw_file_content

Оператор in дает вам быстрый и читаемый способ проверить, содержится ли подстрока в строке. Вы можете заметить, что строка кода почти читается как на английском языке.

Примечание: Если вы хотите проверить, отсутствует ли подстрока в строке, вы можете использовать not in:

"секрет" not in raw_file_content

Поскольку подстрока “секрет” присутствует в raw_file_content, оператор not in возвращает False.

Когда вы используете in, выражение возвращает логическое значение:

  • True, если Python нашел подстроку
  • False, если Python не нашел подстроку

Вы можете использовать этот интуитивный синтаксис в условных операторах для принятия решений в вашем коде:

if "секрет" in raw_file_content:
print("Найдено!")

В этом фрагменте кода вы используете оператор членства, чтобы проверить, является ли “секрет” подстрокой raw_file_content. Если это так, то вы выведете сообщение в терминале.

Обобщение проверки, удалив учет регистра

Если вам нужно проверить, содержит ли строка подстроку без учета регистра, вы можете использовать метод lower() для приведения обеих строк к нижнему регистру. Например:

file_content = "This file contains a secret."
substring = "secret"
if substring.lower() in file_content.lower():
print("Найдено!")

В этом случае, независимо от того, в каком регистре написана подстрока и строка, метод lower() приведет их к нижнему регистру для сравнения.