如果字符串包含括号,请将其删除

时间:2013-09-26 21:15:46

标签: python regex python-2.7 strip

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

一些示例数据:

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

我需要在标准化后出现:

Text
Text Text
Text-Text
Text Text
Text-Text

有人能为我提供解决方案吗?谢谢SMNALLY

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:5)

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

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

更具体的模式可能是:

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

上述模式删除括号表达式周围的空白,并且仅从行尾删除。