Метод str.index() в Python — примеры поиска индекса подстроки в строке
В этом уроке вы узнаете, как использовать метод Python string index() для получения индекса подстроки в строке.
- Что такое метод String index() в Python?
- Примеры метода Python string index()
- 1) Поиск позиции подстроки в строке
- 2) Поиск позиции подстроки в строке внутри среза
- 3) Подстрока не существует в примере строки
Что такое метод String index() в Python?
Метод string index() возвращает наименьший индекс подстроки в строке.
Ниже показан синтаксис метода index():
str.index(sub[, start[, end]])
Метод index() имеет три параметра:
- sub — подстрока, которую нужно найти в строке str.
- Параметры start и end интерпретируются как в записи среза str[start:end]. Срез указывает, где искать подстроку sub. Оба параметра start и end являются необязательными.
Если str не содержит подстроку sub внутри среза str[start:end], метод index() вызовет исключение ValueError.
Если вы не хотите получать ValueError, когда подпрограмма не найдена, вы можете использовать метод string find(). Метод find() возвращает -1 вместо того, чтобы вызывать ValueError.
Обратите внимание: если вы просто хотите проверить, содержится ли подстрока в строке, вы можете использовать оператор in.
Примеры метода Python string index()
Давайте рассмотрим несколько примеров использования метода index().
1) Поиск позиции подстроки в строке
В следующем примере показано, как использовать метод index() для поиска подстроки «Python» в строке «Python will, Python will rock you.»:
s = 'Python will, Python will rock you.' position = s.index('Python') print(position)
Выход:
0
Поскольку строка имеет две подстроки «Python», метод index() возвращает наименьший индекс, в котором подстрока найдена в строке.
2) Поиск позиции подстроки в строке внутри среза
В следующем примере метод index() используется для поиска подстроки «Python» в строке «Python will, Python will rock you.» внутри среза str[1:]:
s = 'Python will, Python will rock you.' position = s.index('Python', 1) print(position)
Выход:
13
В этом примере метод index() возвращает позицию второго вхождения подстроки в строке.
3) Подстрока не существует в примере строки
В следующем примере возникает ошибка ValueError, поскольку подстрока «Java» отсутствует в строке «Python will, Python will rock you.»:
s = 'Python will, Python will rock you.' position = s.index('Java') print(position)
Выход:
ValueError: substring not found