从段落中删除括号及内部内容
我需要从一些文本中去掉括号及括号里面的内容。
我想用正则表达式来实现这个功能。不过,我对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
这其实就是把正确的正则表达式格式化,以便匹配你的文本。上面的代码会一个一个地从字符串中去掉括号,但如果你有嵌套的括号,它就会出错。这是一个完全不同的问题。