Python String startswith: Проверка, начинается ли строка с подстроки
Метод startswith
в Python используется для проверки, начинается ли строка с определенной подстроки. В этом руководстве вы узнаете, как использовать функцию startswith
в Python для проверки, начинается ли строка с одной или нескольких подстрок. Умение проверять, начинается ли строка с другой строки, — это полезный способ проверки ввода пользователей, например, номеров телефонов или имен. Альтернативно, вы можете использовать метод startswith
, чтобы проверить, заканчивается ли строка подстрокой
К концу этого урока вы узнаете:
Как использовать функцию Python
startswith()
, чтобы проверить, начинается ли строка с подстрокиКак использовать функцию Python
startswith()
функция с несколькими строкамиКак использовать функцию Python
startswith()
функция без учета регистра.Как использовать функцию Python
startswith()
функция с списком строк
Оглавление
Понимание Python начинается с функции
Прежде чем углубляться в использование функции Python startswith()
, важно понять синтаксис этой функции. В представленном ниже коде разбираются различные обязательные и необязательные параметры, которые предлагает эта функция.
Таблица ниже разбивает параметры функции, а также любые значения по умолчанию, которые предоставляет функция:
prefix=
Префикс для проверки начала строки
N/A
string or tuple of strings
start=
Начальное положение для проверки в
None
integer
end=
Прекратите сравнивать строки в этой позиции
None
integer
Теперь, когда у вас есть хорошее понимание функции, давайте начнем исследовать, как вы можете ее использовать.
Использование Python начинается с проверки, начинается ли строка с подстроки
Функция startswith()
в Python проверяет, начинается ли строка с подстроки и возвращает логическое значение. Функция вернёт True
, если строка начинается с предоставленных подстрок, и False
в противном случае. Важно отметить, что функция чувствительна к регистру, поэтому использование строчных или заглавных букв требует внимательного подхода.
Давайте рассмотрим пример:
Из примера выше мы видим, что, когда проверяем, начинается ли строка с 'W'
и 'w'
, первое возвращает True, а второе — False.
Аналогично, мы можем использовать параметр start=
, чтобы изменить начальную позицию проверки. Так как строки в Python индексируются с 0, мы можем использовать эти позиции индексов. Давайте начнем проверку, начинается ли вторая буква строки с символа 'e'
:
Использование этого эквивалентно срезу строки до указанной начальной позиции. В приведенном выше примере это можно переписать как text[1:].startswith('e')
. Однако использование параметра start=
намного проще для чтения.
В следующем разделе вы узнаете, как проверить, начинается ли строка с нескольких различных подстрок.
Использование Python начинается с проверки того, начинается ли строка с нескольких подстрок
Бывают моменты, когда нужно проверить, начинается ли строка с любого из набора подстрок. Это значит, что если вы ищете, скажем, определенный шаблон, вы можете проверить несколько вариантов.
Чтобы сделать это, вы можете просто передать кортеж строк в метод .startswith()
. Это проверит, начинается ли строка с какого-либо из вариантов. Давайте посмотрим, как это выглядит на Python:
В блоке кода выше мы передали кортеж, содержащий строчные и прописные буквы "w", в метод. Это позволяет проверить, начинается ли строка с одной из этих букв. В данном случае метод вернул true, указывая на то, что строка действительно начинается с одной из этих букв.
Использование Python начинается с проверки того, начинается ли строка с подстроки, нечувствительной к регистру
В этом разделе вы узнаете, как использовать метод Python .startswith()
для проверки, начинается ли строка с подстроки без учета регистра. По умолчанию метод чувствителен к регистру, и нет параметра для изменения этого поведения.
Из-за этого у нас есть два варианта использования метода .startswith()
с учетом регистра:
Пройти через все варианты чувствительности к регистру
Преобразование строки в строчные буквы
Давайте рассмотрим первый вариант:
В приведенном выше блоке кода мы проверили, начинается ли строка с строчной или прописной буквы 'w'
, передав кортеж из двух букв. Этот метод работает, когда есть меньше вариантов комбинаций, но в противном случае он был бы исчерпывающим.
Или, мы можем представить строку в нижнем регистре и проверить наличие подстроки в нижнем регистре. Давайте посмотрим, как это выглядит:
В коде выше мы сначала используем метод .lower()
, чтобы представить строку в нижнем регистре. Затем мы можем использовать метод .startswith()
, чтобы проверить, начинается ли строка с заданного шаблона без учета регистра.
Использование Python начинается с проверки, начинается ли список строк с подстроки
В этом разделе вы узнаете, как использовать метод Python .startswith()
, чтобы проверить, начинаются ли элементы в списке строк с подстроки. Это может быть полезно, когда вы хотите итеративно просмотреть все строки в списке, чтобы выяснить, начинаются ли они с подстроки. Для этого можно использовать генератор списков, который позволяет упростить итерацию
В приведенном выше блоке кода мы используем генератор списков, который проходит по списку строк. Генератор возвращает True
, если строка начинается с указанной подстроки, и False
в противном случае.
Если вы хотите проверить, начинается ли какая-либо из строк с подстроки, вы можете передать это генераторное выражение в функцию Python any()
. Функция возвращает True
, если любой из элементов в переданном массиве истинный. Давайте посмотрим, как это выглядит:
Использование Python начинается с проверки, не начинается ли строка с подстроки
В этом последнем разделе вы узнаете, как использовать метод Python startswith()
, чтобы проверить, не начинается ли строка с определенной подстроки. Это может быть особенно полезно, когда вы хотите убедиться, что строка не начинается с чего-то конкретного. Например, вы можете проверить, не принадлежит ли номер телефона к определенному коду региона.
В приведенном выше коде перед вызовом метода .startswith()
используется оператор not
. Это возвращает противоположное логическое значение того, что возвращает метод. В приведённом примере мы проверяем, начинается ли строка с 'W'
(что так и есть). Однако, поскольку мы применяем not
, программа возвращает False
.
Заключение
В этом посте вы узнали, как использовать метод Python .startswith()
для проверки, начинается ли строка с определенной подстроки. Сначала вы узнали, как работает метод, изучив его параметры и аргументы по умолчанию. Затем вы узнали, как использовать метод для проверки, начинается ли строка с определенной подстроки, а также с нескольких различных подстрок.
Затем вы узнали, как проверять строки, начинающиеся с подстроки, с учётом регистра. В завершение вы проверили, начинаются ли строки в списке с данной подстроки и начинается ли строка с другой подстроки.
Дополнительные ресурсы
Чтобы узнать больше о смежных темах, ознакомьтесь с приведёнными ниже уроками:
Строка Python содержит: проверьте, содержит ли строка подстроку
Python rfind: найти индекс последней подстроки в строке
Python: найти индекс (или все) подстроки в строке
Last updated