Я хотел бы использовать функцию .replace для замены несколько строк.
В настоящее время у меня есть
string.replace("condition1", "")
, но я хотел бы иметь что-то вроде
string.replace("condition1", "").replace("condition2", "text")
, хотя это не кажется хорошим синтаксисом
, как это правильно сделать? вроде как в grep / regex вы можете использовать \ 1
и \ 2
для замены полей на определенные строки поиска
Я чувствую, что для этого вопроса нужна одна строка рекурсивный ответ функции лямбды для полноты, просто так. Таким образом, там:
>>> mrep = lambda s, d: s if not d else mrep(s.replace(*d.popitem()), d)
Использование:
>>> mrep('abcabc', {'a': '1', 'c': '2'})
'1b21b2'
Примечания:
>>> mrep = lambda s, d: s if not d else mrep(s.replace(*d.pop()), d)
>>> mrep('abcabc', [('a', '1'), ('c', '2')])