从段落中删除括号及内部内容

0 投票
2 回答
2442 浏览
提问于 2025-04-17 09:27

我需要从一些文本中去掉括号及括号里面的内容。

我想用正则表达式来实现这个功能。不过,我对Python中的正则表达式一点都不了解。

文本内容是:Direxion,一家在另类投资解决方案方面的领导者,已任命Angelo Pirri为其西北地区的新高级区域总监。(Logo: http://photos.prnewswire.com/prnh/20100701/NY29766LOGO)Pirri先生负责向各类金融顾问销售和分销Direxion的所有买入并持有的另类投资策略产品,包括大型证券公司、地区经纪商、注册投资顾问(RIA)等。他将为北加州、俄勒冈州、华盛顿州、夏威夷、怀俄明州、爱达荷州、阿拉斯加州和蒙大拿州的顾问提供服务……

我想去掉括号里的内容……

我还没尝试过任何方法……我希望别人告诉我该怎么做,我不想自己动手。

2 个回答

6

假设没有嵌套的括号:

import re

string = 'text (text) text (text) text'

regex = re.compile('\(.+?\)')
output = regex.sub('', string)

print(output)
# >>> text  text  text
0
text = "Some sample (with parenthesis) text"
regEx = re.compile(r'([^\(]*)\([^\)]*\) *(.*)')
m = regEx.match(text)
while m:
  text = m.group(1) + m.group(2)
  m = regEx.match(text)
print text

这其实就是把正确的正则表达式格式化,以便匹配你的文本。上面的代码会一个一个地从字符串中去掉括号,但如果你有嵌套的括号,它就会出错。这是一个完全不同的问题。

撰写回答