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

如何用正则表达式替换Pandas DataFrame中的前导零?

问题分析与解决

你的正则(^0?)核心问题是多了个?,导致匹配逻辑不符合需求:

  • ^表示匹配字符串开头,0?表示匹配0次或1次前面的0,也就是说这个正则会匹配两种情况:要么是开头的单个0,要么是开头的空位置(完全没0的情况)。
  • 当你用空字符串去替换时,匹配空位置的操作等于啥也没做,而且这种空匹配会干扰对开头0的替换,最终导致整个替换操作无效。

正确写法

如果只是要去掉开头的单个前导零,直接用^0即可,精准匹配开头的0,替换成空:

meste['a'] = meste['a'].str.replace(r"^0", "")

如果遇到开头有多个前导零的情况(比如006/33),想把所有前导零都去掉,就用^0+(+表示匹配1次或多次):

meste['a'] = meste['a'].str.replace(r"^0+", "")

执行上面的代码后,就能得到你想要的结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 10:35:08