аватар question@mail.ru · 01.01.1970 03:00

Как обрезать строку в python до нужного символа с конца

Дана строка:

a = 'Первый - второй - третий'

Как можно обрезать строку с конца до ' -', чтобы получилось:

'Первый - второй'

Раньше, когда в строке встречалось только одно ' - ' делал через .split(' - ') и удалял последний элемент под индексом [1], но как только встретились строки с двумя ' - ' это перестало корректно работать. Либо может можно также через .split(' - '), но удалять не конкретно [1], а просто последний элемент в полученном списке. Кто знает как сделать? Подскажите, пожалуйста.

аватар answer@mail.ru · 01.01.1970 03:00

Можно использовать специальную питоновскую нотацию, которая позволяет обращаться с элементами из конца списка, используя отрицательные индексы. В данном случае срез [:-1] берёт из списка все элементы, кроме последнего (минус первого в питоновской парадигме).

a = 'Первый - второй - третий'print('-'.join(a.split('-')[:-1]))

Вывод:

Первый - второй

Последние

Похожие