replace из списка

Подскажите, пожалуйста, как можно сделать replace значения из списка?

Пример:

.replace("/video/" + (0-9) + ".mp4", "/video.mp4")

Название видео может изменяться, для теста хотелось бы избавиться от цифр внутри ссылки.

исходные -

https:/example.com/animated_banners/video/4.mp4
https:/example.com/animated_banners/video/9.mp4
https:/example.com/animated_banners/video/2.mp4

желаемый результат -

https:/example.com/animated_banners/video/.mp4 

Ответы (1 шт):

Автор решения: gil9red

Например, через регулярки:

import re


items = [
    "https:/example.com/animated_banners/video/4.mp4",
    "https:/example.com/animated_banners/video/9.mp4",
    "https:/example.com/animated_banners/video/2.mp4"
]

new_items = [
    re.sub(r'\d+\.mp4', '.mp4', x) for x in items
]
print(new_items)
# ['https:/example.com/animated_banners/video/.mp4', 
#  'https:/example.com/animated_banners/video/.mp4', 
#  'https:/example.com/animated_banners/video/.mp4']

Если нужно поменять так, чтобы в конце просто было .mp4, то можно через rsplit:

new_items = [
    x.rsplit('/', maxsplit=1)[0] + '/.mp4' for x in items
]
print(new_items)
→ Ссылка