2012-02-23 50 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"\^")

(看起来有人已经在我打字的时候回答了这个问题)