我有一个像这样的字符串:
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'