2013-02-21 88 views
4

我正在開發一個Web應用程序。動態轉義字符串中的%符號和括號{}

我需要逃避%{ },如果存在,使用無論是.format()%s

我試過urllib quote_plusre.escape()但沒有工作進一步字符串替換。

我需要轉義的字符串不是靜態的。

我該如何解決這個問題?

謝謝。

回答

3

對於使用與%

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

對於使用與format

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

爲了逃避%{}。你可以用re.sub方法做到這一點。爲了逃避string.format

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

逃避string % args

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

或者使用字符串替換方法,請參閱eumiro的答案。 – 2013-02-21 10:09:37