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

Pandas 2.0.3中用正则删除AA前的|失败,求排查错误原因

问题分析与解决

你的正则表达式失效的核心原因是竖线|在正则语法里是特殊元字符,它代表“逻辑或”的含义,而你实际要匹配的是原字符串里的普通竖线分隔符。未转义的情况下,正则会把|(?=AA)错误解析成「匹配空字符串,或者匹配后面紧跟AA的位置」,自然达不到预期效果。

修正后的代码

只需要把正则里的|转义成\|,让正则将其当作普通字符处理:

import pandas as pd

df = pd.DataFrame({'data': ['10SGD01|AA169|10SGD01|AA170']})
df['data'] = df['data'].str.replace('\|(?=AA)', '', regex=True)
print(df)

运行结果

data
0  10SGD01AA169|10SGD01AA170

这样就能精准匹配到AA前面的竖线并删除,得到你想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 16:12:06