str.rindex()
Метод rindex() возвращает наибольший индекс, по которому подстрока sub встречается в строке (то есть последнее вхождение). В отличие от str.find(), при отсутствии подстроки метод не возвращает -1, а возбуждает исключение ValueError.
Сигнатура
str.rindex(sub[, start[, end]])
Параметры
sub— искомая подстрока.start— индекс, с которого начинается поиск (необязательный).end— индекс, на котором поиск завершается (необязательный).
Возвращаемое значение
Целое число — индекс последнего вхождения sub. При отсутствии — исключение ValueError.
Примеры использования
Пример 1. Последнее вхождение.
print("arduino-uno-r3".rindex("-"))
11
Пример 2. Получение имени файла из пути.
path = "/home/alashed/projects/main.py"
last_slash = path.rindex("/")
print(path[last_slash + 1:])
main.py
Пример 3. Исключение при отсутствии.
try:
"Arduino".rindex("ESP32")
except ValueError as e:
print("Не найдено:", e)
Не найдено: substring not found
Пример 4. Поиск в диапазоне.
text = "abcabcabc"
print(text.rindex("a", 0, 5))
3
Пример 5. Получение расширения файла.
filename = "robot_phobo.firmware.hex"
dot = filename.rindex(".")
print("Расширение:", filename[dot + 1:])
Расширение: hex
См. также
str.find() — поиск без исключения (возвращает -1)
str.index() — поиск первого вхождения с исключением
str.rpartition() — разделение по последнему вхождению
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.