栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

正则表达式截断尾随零

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正则表达式截断尾随零

最好的解决方案可能是针对该任务使用特定于语言的内置方法。

如果您无法使用它们,则可以使用

^(-?d+)(?:.0+|(.d*?)0+|.+)?$

并替换为

$1$2

请参阅regex演示。相应地调整正则表达式。这里是解释:

  • ^
    -字符串开始
  • (-?d+)
    -组1捕获1或0减符号,然后捕获1或多个数字
  • (?:.0+|(.d*?)0+|.+)?
    -一个 可选的 (由于拖尾而匹配1或0次
    ?
    )非捕获组,与3个替代方案匹配:
    • .0+
      -小数点后跟1+零
    • (.d*?)0+
      -第2组使用任意0+数字捕获点,并尽可能少并匹配1+零
    • .+
      -( 可选分支,如果不需要,您可以将其删除 )-匹配尾随点
  • $
    -字符串结尾。

Java演示:

String s = "50.000n50n50.100n50.040n50.n50.000n50.500n50n-5";System.out.println(s.replaceAll("(?m)^(-?\d+)(?:\.0+|(\.\d*?)0+|\.+)?$", "$1$2"));// => [50, 50, 50.1, 50.04, 50, 50, 50.5, 50, -5]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378449.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号