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

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

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

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

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

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

вывести номер строки python (вывод номера строки в 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

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 последнее слово в строке (извлечение последнего слова из строки в 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)