gpt4 book ai didi

java - 删除字符串内的小数

转载 作者:行者123 更新时间:2023-11-30 05:26:26 24 4
gpt4 key购买 nike

我正在尝试将所有值添加到字符串生成器中,以便我可以对其进行序列化。所以,我的字符串生成器看起来像

sb = abc78.00xyz

现在,我只想删除小数点后的 0,并希望输出如下

Input       ->  Output I want
abc78.00xyz -> abc78xyz
abc78.08xyz -> abc78.08xyz

我尝试使用正则表达式,但它不起作用尝试过:

sb.toString().replaceAll("\\.0*$", "")
sb.toString().replaceAll("[.0]+", "")

但这只有在我有数字的情况下才有效。

有人可以告诉我如何获得所需的值吗?

最佳答案

您可以使用

s = s.replaceAll("(?<=\\d)\\.0+(?!\\d)", "");

请参阅regex demo

详细信息

  • (?<=\d) - 当前位置之前必须有一个数字
  • \. - 一个点
  • 0+ - 一个或多个0数字
  • (?!\d) - 后面不跟任何其他数字。

Java demo :

List<String> strs = Arrays.asList("abc78.00xyz", "abc78.08xyz");
for (String str : strs) {
System.out.println( str.replaceAll("(?<=\\d)\\.0+(?!\\d)", "") );
}
// => abc78xyz, abc78.08xyz

关于java - 删除字符串内的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com