str.rpartition()
Метод rpartition() ищет последнее вхождение разделителя sep в строке и возвращает кортеж из трёх элементов: часть до разделителя, сам разделитель и часть после него. Если разделитель не найден, возвращается кортеж из двух пустых строк и исходной строки.
Сигнатура
str.rpartition(sep)
Параметры
sep— строка-разделитель. Не может быть пустой (иначеValueError).
Возвращаемое значение
Кортеж из трёх строк: (before, sep, after) либо ("", "", original), если разделитель не найден. Обратите внимание: при отсутствии разделителя исходная строка попадает в третий элемент (а не в первый, как у str.partition()).
Примеры использования
Пример 1. Разделение по последнему дефису.
print("arduino-uno-r3".rpartition("-"))
('arduino-uno', '-', 'r3')
Пример 2. Разделитель не найден.
print("Arduino".rpartition(":"))
('', '', 'Arduino')
Пример 3. Получение имени файла и каталога.
path = "/home/alashed/projects/main.py"
directory, _, filename = path.rpartition("/")
print("Каталог:", directory)
print("Файл:", filename)
Каталог: /home/alashed/projects
Файл: main.py
Пример 4. Получение расширения.
name, _, ext = "firmware.v2.hex".rpartition(".")
print(name, "→", ext)
firmware.v2 → hex
Пример 5. Сравнение с partition().
text = "a=b=c"
print(text.partition("="))
print(text.rpartition("="))
('a', '=', 'b=c')
('a=b', '=', 'c')
См. также
str.partition() — разделение по первому вхождению
../rsplit/index — разделение с конца на список
str.rindex() — поиск последнего вхождения
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.