4

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

我需要转义%{ }如果存在,则使用.format()或进行进一步的字符串替换%s

我试过了urllib quote_plusre.escape()但没有一个有效。

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

我该如何解决这个问题?

谢谢你。

4

2 回答 2

3

用于%

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

用于format

s = s.replace('{', '{{').replace('}', '}}')
于 2013-02-21T09:48:54.127 回答
0

逃跑%{}。您可以使用该re.sub方法执行此操作。为了逃避 string.format

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

为了逃避string % args

re.sub(r'(%)', '\g<1>\g<1>', original)
于 2013-02-21T10:08:37.887 回答