我在Pandas test
中有一个数据列,该列的列为Column1
,在任何有括号的情况下,我都希望删除括号和括号之间的字符。到目前为止,我有:
test['Column1'].str.replace(r"\([^()]*\)","")
这仅用于删除单个括号。如何扩展替换以删除所有括号?
答案 0 :(得分:2)
这可能是不可能的。考虑到python不支持recursive regular expressions。给定平衡括号是一种形式的递归匹配问题。最好的办法是假设括号是平衡的,并且将第一个括号与最后一个括号匹配。您可以简单地编写一个函数来处理此问题。
答案 1 :(得分:0)
str.replace
替换所有出现的内容。尽管python不支持递归正则表达式,但在这种情况下,字符串替换可解决多次出现的问题。