2012-02-23 102 views
0

我有一個符號^和的問題。有條件地替換多個對象

我需要用\和\ ^替換所有\和^。但我們不知道包含它的搜索字符串中包含哪些字符。

該組合可以以任何順序。

if '\\'or '^' in Pattern: 
     Pattern = Pattern.replace("\\",r"\\") 

現在我需要替換\,^或兩者。無論發現什麼。 如果兩者都存在,那麼兩者。或者如果找到其中任何一個,那麼那個。

我們如何有條件地取代,一個或全部......?

回答

4

您可以在不更換測試:

Pattern = Pattern.replace("\\",r"\\").replace("^",r"\^") 
1
'\\'or '^' in Pattern 

是邏輯OR的表達

'\\' 

'^' in Pattern 

其中第一個是總是如此。

如果你想尋找一個字符串這些字符中的任何一個,做

'\\' in Pattern or '^' in Pattern 
+0

HI再次,如果有人跟着這個,有人能解釋我是怎麼發生的嗎? '>>> a ='abc'' '>>>在' 'd' '中打印'd'或'e'>>>在'a'或'a'中打印'd' 'True' '>>> print any(c in a for'in'da')' 'True' – 2012-02-23 17:18:37

+0

@arindamroychowdhury:請不要在評論中發佈新問題。 – 2012-02-23 17:47:36

1

如果我正確理解你的問題,然後我推測你正在嘗試做類似的事情:

Pattern = Pattern.replace("\",r"\\").replace("^",r"\^")

(看起來有人已經在我打字的時候回答了這個問題)