动态转义字符串中的%符号和括号{}

时间:2013-02-21 09:45:33

标签: python python-2.7 python-2.x

我正在开发一个网络应用程序。

我需要转义%{ }(如果存在),以便使用.format()%s

进一步替换字符串

我尝试了urllib quote_plusre.escape()但没有效果。

我需要转义的字符串不是静态的。

我该如何解决这个问题?

谢谢。

2 个答案:

答案 0 :(得分:3)

适用于%

s = s.replace('%', '%%')

适用于format

s = s.replace('{', '{{').replace('}', '}}')

答案 1 :(得分:0)

要转义%{}。您可以使用re.sub方法执行此操作。逃避string.format

re.sub(r'({|})', '\g<1>\g<1>', original)

要转义string % args

re.sub(r'(%)', '\g<1>\g<1>', original)