我在Python中有这个字符串:
s = "foo(a) foo(something), foo(stuff)\n foo(1)"
我想用其内容替换每个foo实例:
s = "a something, stuff\n 1"
字符串s不是常量,foo内容每次都会改变。我使用正则表达式,分割和正则表达式做了一些事情,但是有一个非常大的功能。我怎么能以简单明了的方式做到这一点?提前问。
答案 0 :(得分:6)
>>> x = "foo(a) foo(something), foo(stuff)\n foo(1)"
>>> re.sub(r'foo\(([^)]*)\)', r'\1', x)
u'a something, stuff\n 1'
答案 1 :(得分:0)
因为你说foo的内容不包含括号,所以似乎真的不需要正则表达式。你为什么不这样做:
>>> s = "foo(a) foo(something), foo(stuff)\n foo(1)"
>>> s = s.replace('foo(','')
>>> s = s.replace(')','')
>>> print s
'a something, stuff\n 1'