Python String endswith: Проверка того, заканчивается ли строка подстрокой
Метод endswith в Python используется для проверки, заканчивается ли строка определенной подстрокой. В этом руководстве вы узнаете, как использовать метод endswith в Python, чтобы определить, заканчивается ли строка одной или несколькими подстроками. Возможность проверить, заканчивается ли строка другой строкой, позволяет, например, проверить расширение файла или тип домена электронной почты. В качестве альтернативы, вы можете использовать метод startswith, чтобы проверить, начинается ли строка с подстроки
К концу этого урока вы узнаете:
Как использовать функцию endwith() Python, чтобы проверить, заканчивается ли строка подстрокой
Как использовать функцию
endswith()
функция с множеством строкКак использовать функцию
endswith()
функция без учета регистраКак использовать функцию
endswith()
функция с списком строк
Содержание
Понимание Python заканчивается функцией
Прежде чем углубляться в то, как использовать функцию Python endsswith()
, важно понять синтаксис этой функции. Приведенный ниже блок кода разбирает различные обязательные и необязательные параметры, которые предлагает эта функция.
В приведённой ниже таблице разбиты параметры функции, а также любые значения аргументов по умолчанию, которые она предоставляет:
prefix=
Суффикс для проверки, заканчиваются ли данные строки
N/A
string or tuple of strings
start=
Начальная позиция для проверки
None
integer
end=
Прекратите сравнивать строки в этой позиции
None
integer
Теперь, когда вы хорошо понимаете функцию, давайте начнем изучать, как вы можете ее использовать.
Использование Python Endswith для проверки, заканчивается ли строка подстрокой
Метод Python endswith()
проверяет, заканчивается ли строка указанной подстрокой. Метод возвращает булево значение: True, если строка заканчивается указанной подстрокой, и False в противном случае. Метод чувствителен к регистру – будьте внимательны к написанию букв при проверке.
Давайте рассмотрим пример, где мы пытаемся определить, имеет ли файл определённое расширение.
Из примера выше можно увидеть, что при проверке, начинается ли строка с 'X'
и 'x'
, первая возвращает True, а вторая возвращает False.
Аналогично, мы можем использовать параметр start=
, чтобы изменить начальную позицию проверки. Поскольку строки в Python индексируются с нуля, можно использовать эти позиции индекса. Давайте начнем проверку, начинается ли вторая буква строки с 'e'
:
Можно заметить, что метод Python .endswith()
поддерживает использование отрицательного индекса для начала отсчета. В этом примере мы использовали позицию -4
, так как знали, что нужно проверить расширение из четырех символов.
В следующем разделе вы узнаете, как проверить, оканчивается ли строка на несколько разных подстрок.
Использование Python Endswith для проверки того, начинается ли строка с нескольких подстрок
Иногда может понадобиться проверить, заканчивается ли строка одним из набора подстрок. Это может быть полезно, если нужно, например, искать разные расширения файлов.
Для этого вы можете просто передать кортеж строк в метод .endswith()
. Это проверит, оканчивается ли строка на любой из указанных вариантов. Давайте посмотрим, как это выглядит на Python:
В приведенном выше блоке кода мы передали кортеж из двух разных строк в метод. Это позволяет нам проверить, заканчивается ли строка на предоставленное расширение. В этом случае метод вернул true, указывая на то, что строка имеет одно из двух расширений.
Использование Python Endswith для проверки того, заканчивается ли строка подстрокой, нечувствительной к регистру
В этом разделе вы узнаете, как использовать метод Python .endswith()
для проверки того, заканчивается ли строка подстрокой с учетом регистра. По умолчанию метод чувствителен к регистру, и параметра для изменения этого нет.
В связи с этим, у нас есть два варианта использования метода .endswith()
с поддержкой нечувствительности к регистру:
Передача всех параметров чувствительности к регистру
преобразование строки в нижний регистр
Давайте рассмотрим первый вариант:
В блоке кода выше мы проверили, оканчивается ли строка на строчную или заглавную букву 'x'
, передавая кортеж из двух букв. Этот метод работает, когда количество вариантов сочетаний невелико, но в противном случае это было бы утомительно.
Альтернативно, мы можем представить строку в её нижнем регистре и проверить наличие подстроки в нижнем регистре. Давайте посмотрим, как это выглядит:
На приведенном выше фрагменте кода мы сначала используем метод .lower()
, чтобы представить строку в нижнем регистре. Затем мы можем использовать метод .endswith()
, чтобы проверить, заканчивается ли строка на определенный шаблон, игнорируя регистр.
Использование Python Endswith для проверки, не заканчивается ли строка подстрокой
В этом заключительном разделе вы научитесь использовать метод Python endswith()
для проверки того, не заканчивается ли строка заданной подстрокой. Это может быть особенно полезно, когда вы хотите убедиться, что файл не использует определенное расширение.
В приведенном выше примере кода, мы используем оператор not
перед вызовом метода .endswith()
. Это возвращает противоположное булево значение того, что возвращает метод. В приведенном примере, мы проверяем, заканчивается ли строка на 'csv'
(что так и есть). Однако, из-за использования not
, программа возвращает False
.
Заключение
В этом посте вы узнали, как использовать метод Python .endswith()
для проверки, заканчивается ли строка на определенную подстроку. Сначала вы узнали, как работает метод, исследуя его параметры и аргументы по умолчанию. Затем вы узнали, как использовать метод для проверки, заканчивается ли строка на одну или несколько различных подстрок.
Затем вы узнали, как проверять строки, начинающиеся с подстроки с учетом регистра. Наконец, вы узнали, заканчивается ли строка подстрокой.
Дополнительные ресурсы
Чтобы узнать больше о связанных темах, ознакомьтесь с руководствами ниже:
Строка Python содержит: проверьте, содержит ли строка подстроку
Python rfind: найти индекс последней подстроки в строке
Python: найти индекс (или все) подстроки в строке
Last updated