Вы можете заменить каждую подстроку в фигурных скобках подстрокой {}
, которая действует как заполнитель, когда строка передается методу str.format
.Список должен быть «приведен» к последовательности переменных (это называется распаковка ), поэтому префиксный оператор *
необходим перед передачей списка в str.format
.
Итак, код может выглядеть следующим образом:
import re
s = "{Dog} loves {Cat}"
l = ["Scooby Doo", "Sylvester"]
print(re.sub(r'{[^{}]*}', '{}', s).format(*l))
# => Scooby Doo loves Sylvester
См. Python demo .