В этом уроке Python мы смотрим, как вы можете проверить, содержит ли строка Python подстрокой. Мы смотрим на различные методы и подробно объясняем их использование.
Этот учебник является частью нашей инициативы в Гильгипл , чтобы написать короткие уверенные учебные пособия, часто используемые или интересные концепции. Однако, если вы здесь только для решения, используйте эту ссылку.
Стол содержания
- Зачем проверять, содержит ли строка Python подстроки?
- Использование оператора
- Используя строковые методы
- Метод индекса ()
- найти() метод
- Ограничения и предостережения
Зачем проверять, содержит ли строка Python подстроки?
Мы проверяем, содержит ли строка Python подстрока по нескольким причинам, однако, наиболее часто используемая в условных операторах. Это запускает код в случае, если подстрока существует и другая, если строка Python не содержит подстроку. Другое распространенное использование – найти индекс подстроки в строке Python.
Если вы идете с другого языка, это, скорее всего, вы столкнулись с Содержит
функция. Python также поддерживает __sontains__
Метод, однако, он также поддерживает несколько более быстрых и более читаемых методов для проверки, если строка Python содержит подстроку.
Использование оператора:
Оператор With является самым простым и пифитонным методом для проверки, если строка Python содержит подстроку. В и не вниках являются членство операторов, они принимают два аргумента и оценивают, если кто-то является членом другого. Они возвращаются в том случае, если это член и ложь в случае этого нет. И, следовательно, он используется для проверки, является ли подстрока элементом строки Python. Это эффективная альтернатива Содержит Способ и также можно использовать для проверки, существует ли элемент в списке.
в
В основном используется, когда пользователь хочет проверить, только ли он Python String содержит подстроку, а также потому, что он более читается. Однако, если вы хотите вернуть индекс подстроки, следующее решение – это GOTO.
Синтаксис в:
'substring` in string
Синтаксис для не в
то же самое.
Код для проверки ли строка Python содержит подстроку:
if "Hire" in "Hire the top freelancers": print("Exists") else: print("Dose not exist") #Output - Exists
в
Оператор чувствителен к регистру, а вышеуказанный код вернул бы ложь, если подстрока была «Прокат»
И, следовательно, хорошая практика использовать его с .lower ()
метод. Этот метод преобразует строку в нижний регистр. Поскольку строки неизменны, это не повлияет на исходную строку.
if "hire" in "Hire the top freelancers".lower(): print("Exists") else: print("Dose not exist") #Output - Exists
Использование строковых методов:
Python поставляется с несколькими строковыми методами, которые можно использовать для проверки, содержит ли строка Python подстроки. Смотрим на Найти ()
и Индекс ()
методы. Эти методы выделяются из в
Когда они возвращают индекс подстроки. Однако они приходят с их минусами, мы обсуждаем их подробнее.
Использование индекса ()
string.index ()
Метод возвращает начальный индекс подстроки, прошедшего в качестве параметра. Таким образом, он может быть использован для проверки, содержит ли строка Python подстроки. Тем не менее, серьезное состоит в том, что в случае, если подстрока не существует, этот метод возвращает ValueError
И, следовательно, это должно быть помещено внутри Попробуй, кроме
Отказ
Синтаксис показатель() :
string.index(value, start, stop)
Здесь Строка
это строка Python и ценность
в подстроке. Синтаксис также содержит две дополнительные параметры Начало
и Стоп
Они используются в случае, если вы ищете подстроку в пределах определенного индекса.
Код с использованием показатель() :
try: "Hire the top freelancers".index("Hire") except ValueError: print("Dose not exist") else: print(sting.index(sti)) #Output = 0
Подобное данное Индекс ()
Рекомендуется чувствительна к регистру и использование .lower () рекомендуется.
try: "Hire the top freelancers".lower().index("hire") except ValueError: print("Dose not exist") else: print(sting.index(sti)) #Output = 0
Использование find ()
string.find ()
Есть еще один метод, который можно использовать для проверки, содержит ли строка Python подстрока. Похож на Индекс ()
, Найти ()
Также возвращает начальный индекс подстроки. Но в отличие от Индекс ()
Метод не возвращает ValueError
В случае, если подстрока не существует, а скорее возврат -1
который является индексом левойной строки.
Синтаксис найти() :
string.find(value, start, end)
Синтаксис и параметры Найти ()
такие же, как показатель()
Код с использованием найти() :
if "Hire the top freelancers".find("Hire") != -1: print("Hire the top freelancers".find("Hire")) else: print("Dose not exist")
И снова, поскольку Найти ()
Также также чувствителен к регистру следующий код.
if "Hire the top freelancers".lower().find("hire") != -1: print("Hire the top freelancers".find("Hire")) else: print("Dose not exist")
Ограничения и предостережения
- Не забудьте использовать
.lower ()
Методы, поскольку все методы чувствительны к регистру. - Который использует
Индекс ()
Метод для обеспечения того, чтобы он помещен внутри попытки, кроме состояния.
Оригинал: “https://dev.to/hrishikesh1990/how-to-check-if-a-python-string-contains-a-substring-2hal”