python – 从字符串中删除括号之间的内容

我有一个像这样的字符串:

s = 'word1 word2 (word3 word4) word5 word6 (word7 word8) word9 word10'

如何删除括号中的所有内容,以便输出为:

'word1 word2 word5 word6 word9 word10'

我尝试了正则表达式,但这似乎不起作用.有什么建议?

最好
雅克·

最佳答案

import re
s = re.sub(r'\(.*?\)', '', s)

请注意,这仅删除括号之间的所有内容.这意味着你将在“word2和word5”之间留下双倍的空间.我的终端输出:

>>> re.sub(r'\(.*?\)', '', s)
'word1 word2  word5 word6  word9 word10'
>>> # -------^ -----------^ (Note double spaces there)

但是,您提供的输出并非如此.要删除多余的空格,您可以执行以下操作:

>>> re.sub(r'\(.*?\)\ *', '', s)
'word1 word2 word5 word6 word9 word10'
点赞