如何删除熊猫中多个括号之间的单词?

时间:2018-11-04 07:47:39

标签: python regex pandas

我想删除大括号数据框中的括号及其之间的词。到目前为止,我已经搜索并发现这非常有帮助-

df['Column'].str.replace(r"\(.*\)","")

但这会转换以下字符串-

柠檬(20%...),橙色(...)和苹果(...)完成。

(...包含其他字母)

柠檬洗完了。

但是,我希望输出为-

柠檬,橘子和苹果做完了。

2 个答案:

答案 0 :(得分:1)

使用:

df['Column'].str.replace(r"\((.*?)\)","")

输出

Lemon , orange  and apple  done.

说明

  1. \(从字面上匹配字符((区分大小写)
  2. .*?匹配任何字符(行终止符除外)
  3. \)从字面上匹配字符)(区分大小写)

PS -我发现Regex101是用于regex的很好的在线测试工具(我与它们毫无关系)。

编辑

添加+可能适用于嵌套的情况(未经彻底测试)-

\(+(.*?)\)+

FYI-与@Ulrich同意询问一个新问题:-)

答案 1 :(得分:0)

以下方法可以帮助您: df['Column'].str.replace('\(.*?\)', '')