Python中的一些艰难的字符串操作

时间:2012-06-03 20:39:27

标签: python string replace

我在Python中有这个字符串:

s = "foo(a) foo(something), foo(stuff)\n foo(1)"

我想用其内容替换每个foo实例:

s = "a something, stuff\n 1"

字符串s不是常量,foo内容每次都会改变。我使用正则表达式,分割和正则表达式做了一些事情,但是有一个非常大的功能。我怎么能以简单明了的方式做到这一点?提前问。

2 个答案:

答案 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'

请参阅Python: string.replace vs re.sub