Как проверить наличие подстроки в строке на Python?
Как подтвердить наличие подстроки в строке Python
Если вам нужно проверить, содержит ли строка подстроку, используйте оператор членства in
в Python. В Python это рекомендуемый способ подтверждения наличия подстроки в строке:
Оператор членства in
дает вам быстрый и читаемый способ проверить, присутствует ли подстрока в строке. Вы можете заметить, что строка кода читается почти как на английском языке.
Примечание: Если вы хотите проверить, не содержится ли подстрока в строке, вы можете использовать оператор not in
:
Поскольку подстрока "secret"
присутствует в raw_file_content
, оператор not in
возвращает False
.
Когда вы используете in
, выражение возвращает логическое значение:
True
, если Python нашел подстрокуFalse
, если Python не нашел подстроку
Вы можете использовать этот интуитивно понятный синтаксис в условных операторах, чтобы принимать решения в вашем коде:
В этом фрагменте кода вы используете оператор членства, чтобы проверить, является ли "secret"
подстрокой raw_file_content
. Если является, то вы выведете сообщение в консоль.
В следующих разделах вы узнаете, как обобщить проверку, удалив регистр, и как искать подстроки с использованием регулярных выражений. Также вы узнаете, как найти подстроку в столбце DataFrame в библиотеке pandas.
Обобщение проверки путем удаления регистра
Иногда вам может потребоваться проверить наличие подстроки, игнорируя регистр букв. Например, если вы хотите проверить наличие слова без учета регистра, вы можете использовать метод .lower()
для приведения обеих строк к нижнему регистру перед сравнением:
В этом случае обе строки приводятся к нижнему регистру с помощью метода .lower()
, а затем производится проверка наличия подстроки.
Узнайте больше о подстроке
Если вам интересно узнать больше о подстроках и как с ними работать в Python, вы можете изучить дополнительные методы и функции для работы со строками. Вот некоторые из них:
.find(substring)
- возвращает индекс первого вхождения подстроки в строку или -1, если подстрока не найдена..index(substring)
- возвращает индекс первого вхождения подстроки в строку или вызывает исключение ValueError, если подстрока не найдена..count(substring)
- возвращает количество вхождений подстроки в строку..replace(old, new)
- заменяет все вхождения подстрокиold
на подстрокуnew
..startswith(substring)
- возвращаетTrue
, если строка начинается с подстроки..endswith(substring)
- возвращаетTrue
, если строка оканчивается подстрокой.
Изучение этих методов поможет вам более гибко работать с подстроками в Python.
Поиск подстроки с использованием регулярных выражений
Регулярные выражения - это мощный инструмент для работы с текстом и поиска нужных шаблонов в строках. В Python вы можете использовать модуль re
для работы с регулярными выражениями.
Вот пример использования регулярного выражения для поиска подстроки в строке:
В этом примере мы используем функцию re.search()
, которая ищет подстроку “Hello” в строке s
. Если подстрока найдена, то выводится соответствующее сообщение.
Поиск подстроки в столбце DataFrame в библиотеке pandas
Если вам нужно найти подстроку в столбце DataFrame в библиотеке pandas, вы можете использовать метод .str.contains()
.
Вот пример использования метода .str.contains()
для поиска подстроки в столбце DataFrame:
В этом примере мы создаем DataFrame с данными о людях, а затем используем метод .str.contains()
для поиска всех строк, в которых в столбце “Name” содержится подстрока “Jo”. Результатом будет DataFrame, содержащий только строки, удовлетворяющие условию поиска.
Заключение
В этом руководстве вы узнали, как подтвердить наличие подстроки в строке Python, используя оператор членства in
. Вы также изучили, как обобщить проверку, удалив регистр, и как искать подстроки с использованием модуля re
или метода .str.contains()
в библиотеке pandas.
Надеюсь, эта информация будет полезна для вас при работе со строками в Python.