我正在开发一个网络应用程序。
我需要转义%
和{ }
(如果存在),以便使用.format()
或%s
我尝试了urllib quote_plus
,re.escape()
但没有效果。
我需要转义的字符串不是静态的。
我该如何解决这个问题?
谢谢。
答案 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)