Лучший способ заменить несколько символов в строке?

Мне нужно заменить некоторые символы следующим образом: & \ & , # \ # , ...

Я закодировал это следующим образом, но я думаю, что должен быть какой-то лучший способ. Есть подсказки?

strs = strs.replace('&', '\&')
strs = strs.replace('#', '\#')
...
157
задан martineau 4 September 2019 в 15:07
поделиться

2 ответа

Вы всегда собираетесь добавлять обратную косую черту? Если да, попробуйте

import re
rx = re.compile('([&#])')
#                  ^^ fill in the characters here.
strs = rx.sub('\\\\\\1', strs)

Возможно, это не самый эффективный метод, но я думаю, что это самый простой.

15
ответ дан 23 November 2019 в 21:42
поделиться
>>> string="abc&def#ghi"
>>> for ch in ['&','#']:
...   if ch in string:
...      string=string.replace(ch,"\\"+ch)
...
>>> print string
abc\&def\#ghi
72
ответ дан 23 November 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: