Как удалить все после .rtf
Что я до сих пор удаляет .rtf
и все после него.
s = 'newyork.pdf.rtf.doc'
actual_file = re.sub(".rtf.+", "", s)
возвращает newyork.pdf
Опция 1
Используйте положительный lookbehind (?<=\.rtf).*
:
>>> re.sub(r'(?<=\.rtf).*', '', s)
'newyork.pdf.rtf'
Вариант 2
Захватите .rtf
и замените соответствующую группу:
>>> re.sub(r'(\.rtf).*', r'\1', s)
'newyork.pdf.rtf'
re.sub(r'(?<=\.rtf).*', '', s)
. Вы также можете захватить.rtf
и заменить в соответствующей группе:re.sub(r'(\.rtf).*', r'\1', s)