Главная страница » Вхождение подстроки в строку python

Вхождение подстроки в строку python

В Python есть несколько удобных и эффективных способов проверить, входит ли подстрока в строку, или найти её позицию.

1. Оператор In (Проверка наличия)

Это самый простой и идиоматичный способ проверить, содержится ли подстрока в строке. Он возвращает булево значение (True или False).

Синтаксис:

Python

Подстрока in строка

Пример:

Python

Основная_строка = "Привет, мир! Python — замечательный язык."

# Проверка наличия подстроки

If "мир" in основная_строка:

print("Подстрока ‘мир’ найдена.") # Вывод: Подстрока ‘мир’ найдена.

If "Python" in основная_строка:

print("Подстрока ‘Python’ найдена.") # Вывод: Подстрока ‘Python’ найдена.

If "Java" in основная_строка:

print("Подстрока ‘Java’ найдена.")

Else:

print("Подстрока ‘Java’ не найдена.") # Вывод: Подстрока ‘Java’ не найдена.

# Регистрозависимость:

If "python" in основная_строка:

print("Подстрока ‘python’ (строчная) найдена.")

Else:

print("Подстрока ‘python’ (строчная) не найдена.") # Вывод: Подстрока ‘python’ (строчная) не найдена.

# Для регистронезависимого поиска, приведите обе строки к одному регистру:

If "python".lower() in основная_строка. lower():

print("Подстрока ‘python’ найдена (без учета регистра).") # Вывод: Подстрока ‘python’ найдена (без учета регистра).

2. Метод Find() (Поиск позиции)

Метод find() возвращает Самый низкий индекс в строке, где находится подстрока. Если подстрока не найдена, он возвращает -1.

Синтаксис:

Python

Строка. find(подстрока, [начало], [конец])

    подстрока: искомая подстрока. начало (необязательно): индекс, с которого начинается поиск. конец (необязательно): индекс, на котором заканчивается поиск.

Пример:

Python

Текст = "Python — это мощный и популярный язык программирования. Python широко используется."

# Найти первое вхождение

Индекс1 = текст. find("Python")

Print(f"Первое вхождение ‘Python’ на индексе: {индекс1}") # Вывод: Первое вхождение ‘Python’ на индексе: 0

# Найти вхождение, начиная с определенного индекса

Индекс2 = текст. find("Python", 1) # Ищем ‘Python’, начиная с индекса 1 (т. е. пропускаем первый)

Print(f"Второе вхождение ‘Python’ на индексе: {индекс2}") # Вывод: Второе вхождение ‘Python’ на индексе: 49

# Если подстрока не найдена

Индекс3 = текст. find("Java")

Print(f"Вхождение ‘Java’ на индексе: {индекс3}") # Вывод: Вхождение ‘Java’ на индексе: -1

# Использование начала и конца диапазона

Индекс4 = текст. find("язык", 20, 40) # Ищем ‘язык’ в диапазоне индексов от 20 до 40

Print(f"Вхождение ‘язык’ в диапазоне [20, 40) на индексе: {индекс4}") # Вывод: Вхождение ‘язык’ в диапазоне [20, 40) на индексе: 33

3. Метод Index() (Поиск позиции с исключением)

Метод index() работает аналогично find(), но если подстрока не найдена, он вызывает исключение ValueError. Используйте его, когда вы Ожидаете, что подстрока будет найдена, и хотите, чтобы программа выдала ошибку, если это не так.

Синтаксис:

Python

Строка. index(подстрока, [начало], [конец])

Пример:

Python

Фраза = "Изучаем Python!"

Try:

pos1 = фраза. index("Python")

print(f"Подстрока ‘Python’ найдена на позиции: {pos1}") # Вывод: Подстрока ‘Python’ найдена на позиции: 8

Except ValueError:

print("Подстрока не найдена.")

Try:

pos2 = фраза. index("Java")

print(f"Подстрока ‘Java’ найдена на позиции: {pos2}")

Except ValueError:

print("Подстрока ‘Java’ не найдена.") # Вывод: Подстрока ‘Java’ не найдена.

4. Метод Count() (Подсчет количества вхождений)

Метод count() возвращает Количество непересекающихся вхождений подстроки в строке.

Синтаксис:

Python

Строка. count(подстрока, [начало], [конец])

Пример:

Python

Предложение = "Банан, я люблю бананы, а ты любишь бананы?"

Кол_бананов = предложение. count("банан")

Print(f"Количество вхождений ‘банан’: {кол_бананов}") # Вывод: Количество вхождений ‘банан’: 2 (один в "Банан," другой в "бананы,")

Кол_любл = предложение. count("люблю")

Print(f"Количество вхождений ‘люблю’: {кол_любл}") # Вывод: Количество вхождений ‘люблю’: 2

Когда что использовать:

    In: Самый простой и рекомендуемый способ, если вам просто нужно проверить Наличие подстроки. Find(): Если вам нужна Позиция первого вхождения подстроки, и вы хотите обработать случай, когда подстрока отсутствует (возвращает -1). Index(): Если вам нужна Позиция первого вхождения, и вы хотите, чтобы программа Выдавала ошибку, если подстрока не найдена. Count(): Если вам нужно знать Количество раз, сколько подстрока встречается в строке.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх