В этом уроке по основам Python, мы рассмотрим строковые методы: index()
, rindex()
. Метод возвращает наименьший индекс подстроки внутри строки и наивысший индекс, при условии, что подстрока найдена, иначе возникает исключение.
Синтаксис методов:
str.index(sub[, start[, end]])
str.rindex(sub[, start[, end]])
Аргументы:
str
- заданная строка, в которой необходимо найти подстроку.sub
- подстрока для поиска.start
/end
- поиск подстроки в определенных индексах[start:end]
(необязательно)
В случае нахождения строки, метод index()
выводит наименьший индекс начала найденной подстроки, а rindex()
выводит наивысший метод найденной строки, если подстрока не была найдена, возникает исключение: ValueError
.
Методы аналогичны методам: Методы строки str.find() / str.rfind(), отличие лишь в том, что в find()
, rfind()
методах вместо исключения выходит результат -1.
Пример с str.index():
# Задаем строку
string_example = 'Hello world! Its time to work, work, work!'
# Поиск подстроки work, игнорируя первое нахождение
print(string_example.index('work'))
# Поиск подстроки work от индекса 15 до индекса 30
print(string_example.index('work', 30, 40))
# Поиск подстроки hi
print(string_example.index('hi'))
Результат:
>>> 25
>>> 31
>>> Traceback (most recent call last):
>>> File "C:\Users\Razilator\Desktop\Projects\Coding\articles\methods\str_index\main.py", line 11, in <module>
>>> print(string_example.index('hi'))
>>> ValueError: substring not found
Пример str.rindex()
# Задаем строку
string_example = 'Hello world! Its time to work, work, work!'
# Поиск подстроки work, игнорируя первое нахождение
print(string_example.rindex('work'))
# Поиск подстроки work от индекса 15 до индекса 30
print(string_example.rindex('work', 30, 40))
# Поиск подстроки hi
print(string_example.rindex('hi'))
Результат:
>>> 37
>>> 31
>>> Traceback (most recent call last):
>>> File "C:\Users\Razilator\Desktop\Projects\Coding\articles\methods\str_index\main.py", line 11, in <module>
>>> print(string_example.rindex('hi'))
>>> ValueError: substring not found