Как лучше переписать вызов нескольких .replace()?

Нужно сделать замену 3-и и более раз. Как правильнее переписать конструкцию:

.get_text(separator=' ').replace('\n', '').replace('  ', '').replace('|', '')

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

Автор решения: Andrii Shyrokov

Можно так:

s = "Hello |  world|!"
for r in (('\n', ''), ('  ', ''), ('|', '')):
    s = s.replace(*r)
print(s)

Выход:

Hello world!
→ Ссылка
Автор решения: MaxU

Можно также воспользоваться str.maketrans() + str.translate() - это один самых быстрых способов заменить или удалить одновременно много символов в строке. Для удаления мы просто заменяем символы на пустую строку.

s = "Hello |  world|!"

tran_tab = str.maketrans(dict.fromkeys(list("\n ,|"), ""))
res = s.translate(tran_tab)

print(res)
>>> Helloworld!

или универсальным средством - регулярными выражениями:

import re

res = re.sub(r"[\s,|]", "", s)
print(res)
>>> Helloworld!
→ Ссылка