我在 Python 中有这个字符串:
s = "foo(a) foo(something), foo(stuff)\n foo(1)"
我想用它的内容替换每个 foo 实例:
s = "a something, stuff\n 1"
字符串 s 不是常量,并且 foo 的内容每次都会改变。我使用 regex、split 和 regex 做了一些事情,但是得到了一个非常大的函数。我怎样才能以简单明了的方式做到这一点?提前Thks。
>>> x = "foo(a) foo(something), foo(stuff)\n foo(1)"
>>> re.sub(r'foo\(([^)]*)\)', r'\1', x)
u'a something, stuff\n 1'
由于您说 foo 的内容不包含括号,因此 Regex 似乎确实不需要。你为什么不这样做:
>>> s = "foo(a) foo(something), foo(stuff)\n foo(1)"
>>> s = s.replace('foo(','')
>>> s = s.replace(')','')
>>> print s
'a something, stuff\n 1'