Как в Python получить последнее слово из строки

Раздел: Основы Python -> Строки

Основные способы извлечения последнего слова

При работе со строками в Python часто требуется получить последнее слово. Выбор метода зависит от структуры строки и требований к обработке знаков препинания или пустых значений.

Наиболее эффективное решение: метод rsplit()

def last_word(string):
    return string.rsplit(maxsplit=1)[-1] if string.strip() else ''

Python strip (метод strip в python)

Метод rsplit() с параметром maxsplit=1 разбивает строку только с правого конца на две части: первую часть (все слова до последнего) и вторую (последнее слово). Если строка пустая или состоит из пробелов, функция возвращает пустую строку. Этот подход быстрее split() при больших объёмах данных, так как не обрабатывает всю строку.

Как получить последнее слово с помощью split() и отрицательного индекса?

s = "Python последнее слово в строке"
last = s.split()[-1]

Python повторить строку (повторение строки в python)

Метод split() без аргументов делит строку по пробельным символам и возвращает список слов. Индекс -1 обращается к последнему элементу. Этот способ прост, но вызывает ошибку IndexError, если строка пустая или содержит только пробелы.

Типичная ошибка:

s = "   "
last = s.split()[-1]  # IndexError: list index out of range

Tuple в str python (преобразование кортежа в строку в python)

Решение: предварительно проверить результат split() на пустоту или использовать тернарный оператор: last = s.split()[-1] if s.split() else ''.

Как извлечь последнее слово без знаков препинания?

import re
s = "Привет, мир! Как дела?"
last_word = re.findall(r'\b\w+\b', s)[-1]  # 'дела'

Python объект в строку (преобразование объекта в строку в python)

Регулярное выражение \b\w+\b находит последовательности букв и цифр (слова), игнорируя знаки препинания. Если слов нет, возникает IndexError, поэтому нужна проверка.

Проблема: пустая строка или строка без слов

s = "... !!!"
result = re.findall(r'\b\w+\b', s)
last = result[-1] if result else ''

Python convert string (преобразование строк в python)

Как обработать строку с лишними пробелами в начале и конце?

s = "   несколько   пробелов   "
last = s.strip().split()[-1]  # 'пробелов'

Метод strip() удаляет пробелы по краям, после чего split() и индекс -1 работают корректно. Если после strip() строка пустая, возникает ошибка, поэтому стоит комбинировать с проверкой.

- вывести символ строки python (вывод символа строки в python)
- вывести длину строки python (вывести длину строки в python)
- вывести элемент строки python (вывод конкретного символа строки по индексу в python)

Расширенные примеры извлечения последнего слова

Пример 1: Обычная строка

Пример
s = "Python последнее слово в строке"
last = s.rsplit(maxsplit=1)[-1]
print(last)
строке

Пример 2: Пустая строка

Пример
s = ""
if s.strip():
    last = s.rsplit(maxsplit=1)[-1]
else:
    last = ''
print(repr(last))
''

Пример 3: Строка с пробелами в начале и конце

Пример
s = "   привет мир   "
last = s.strip().split()[-1]
print(last)
мир

Пример 4: Много пробелов между словами

Пример
s = "Python    строки     извлечение"
last = s.split()[-1]
print(last)
извлечение

Пример 5: Строка с пунктуацией (использование regex)

Пример
import re
s = "Здравствуйте, дорогой друг!"
last = re.findall(r'[\w\-]+', s)[-1]
print(last)
друг

Пример 6: Строка из одного слова

Пример
s = "единственное"
last = s.rsplit(maxsplit=1)[-1]
print(last)
единственное

Пример 7: Юникодные символы

Пример
s = "Котёнок играет с мячом"
last = s.split()[-1]
print(last)
мячом

Пример 8: Обработка ошибок с помощью try-except

Пример
def safe_last_word(s):
    try:
        return s.split()[-1]
    except IndexError:
        return ''

print(repr(safe_last_word('')))
print(repr(safe_last_word('только слово')))
''
'слово'

Пример 9: Использование rpartition (работает только если есть хотя бы один пробел)

Пример
s = "раз два три"
last = s.rpartition(' ')[-1]
print(last)  # 'три'
s2 = "одно"
last2 = s2.rpartition(' ')[-1]
print(repr(last2))  # '' (пустая строка, так как разделитель не найден)
три
''

Извлечение последнего слова из строки в Python - comments

En
Python последнее слово в строке (python)