4
我正在开发一个Web应用程序。动态转义字符串中的%符号和括号{}
我需要逃避%
和{ }
,如果存在,使用无论是.format()
或%s
我试过urllib quote_plus
,re.escape()
但没有工作进一步字符串替换。
我需要转义的字符串不是静态的。
我该如何解决这个问题?
谢谢。
我正在开发一个Web应用程序。动态转义字符串中的%符号和括号{}
我需要逃避%
和{ }
,如果存在,使用无论是.format()
或%s
我试过urllib quote_plus
,re.escape()
但没有工作进一步字符串替换。
我需要转义的字符串不是静态的。
我该如何解决这个问题?
谢谢。
对于使用与%
:
s = s.replace('%', '%%')
对于使用与format
:
s = s.replace('{', '{{').replace('}', '}}')
为了逃避%
,{
和}
。你可以用re.sub
方法做到这一点。为了逃避string.format
:
re.sub(r'({|})', '\g<1>\g<1>', original)
逃避string % args
:
re.sub(r'(%)', '\g<1>\g<1>', original)
或者使用字符串替换方法,请参阅eumiro的答案。 – 2013-02-21 10:09:37