You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas DataFrame使用str.replace删除括号内容残留空括号如何解决

问题原因

pandas的Series.str.replace()方法默认开启正则匹配模式,小括号()在正则语法中属于分组特殊字符,你直接写入(penatibus/magnis)作为匹配规则时,只会匹配到括号内部的内容,括号本身不会被命中,因此删除后会残留空括号。

解决方法

方法1:匹配固定字符串时关闭正则模式

如果你只需要删除指定的括号内容,给方法添加regex=False参数即可强制按普通字符串匹配:

# 单个指定内容删除
df["Description"] = df["Description"].str.replace("(penatibus/magnis)", "", regex=False)
# 多个指定内容删除可以链式调用
df["Description"] = df["Description"].str.replace("(penatibus/magnis)", "", regex=False)\
                                      .str.replace("(ut/tellus/elementum)", "", regex=False)

方法2:用正则批量删除所有括号及内部内容

如果需要删除该列所有格式为(任意内容)的片段,直接写通用正则规则即可,不需要逐个指定要删除的内容:

import pandas as pd
# 正则含义:\(匹配左括号,.*?非贪婪匹配括号内任意内容,\)匹配右括号
# 末尾加str.strip()用于清除删除后残留的前后多余空格
df["Description"] = df["Description"].str.replace(r"\(.*?\)", "", regex=True).str.strip()

执行上述任意符合你需求的方法后,即可得到预期的输出结果。

内容的提问来源于stack exchange,提问作者user16486968

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:39:03