0

我有一些格式略有不同的抓取数据,但是为了使其标准化,我需要删除括号内的任何内容,包括括号,如果它们存在的话。我试图以各种方式使用条带,但无济于事。

一些示例数据:

Text (te)
Text Text (tes)
Text-Text (te)
Text Text
Text-Text (tes)

以及标准化后我需要如何出现:

Text
Text Text
Text-Text
Text Text
Text-Text

谁能为此提供解决方案?非常感谢

4

2 回答 2

5
from re import sub
x = sub("(?s)\(.*\)", "", x)

这将删除括号之间的所有内容(包括换行符)以及括号本身。

于 2013-09-26T21:18:33.130 回答
4

假设括号不嵌套,并且每个字符串最多有一对,试试这个:

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

更具体的模式可能是:

myString = re.sub(r'\s*\(\w+\)\s*$', '', myString)

上面的模式删除括号表达式周围的空格,并且只从行尾删除。

于 2013-09-26T21:16:35.663 回答