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

正则表达式问题:移除字符串中点前及末尾序列的前导零

用正则表达式实现数字段前导零移除方案

没问题,这个需求完全可以用正则表达式搞定!针对你说的01.10转1.10、10.01转10.1的场景,核心就是去掉小数点分隔的每个数字段开头的前导零(只要这个段不止一位数字),下面给你具体的实现方法:

基础实现(仅移除每个段的首个前导零)

查找正则:

(^|\.)0(\d)

替换字符串:

$1$2

效果演示:

  • 输入 01.10 → 匹配开头的01,替换后得到 1.10
  • 输入 10.01 → 匹配小数点后的01,替换后得到 10.1
  • 输入 001.001 → 会变成 01.01(只去掉每个段的第一个前导零)

进阶实现(移除所有前导零)

如果你的需求是彻底清除每个段的所有前导零(比如001直接转1),可以用下面的正则:

查找正则:

(^|\.)0+(\d)

替换字符串:

$1$2

效果演示:

  • 输入 001.001 → 替换后得到 1.1
  • 输入 0.01 → 替换后得到 0.1(保留单个零的情况,因为只有当零后面有其他数字时才会移除)

正则逻辑说明

  • (^|\.):匹配字符串的开头或者小数点,确保我们只处理每个数字段的起始位置,不会误删数字中间的零
  • 0+(或单个0):匹配一个或多个连续的前导零(单个0就只匹配第一个零)
  • (\d):捕获零后面的第一个数字,保证我们只移除前面的零,保留后面的有效数字
  • 替换时用$1$2,把开头的定位符(字符串开头或小数点)和捕获到的数字拼接,就自然去掉了中间的前导零

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:18:45