Java 删除字符串中的小数

Java 删除字符串中的小数,java,regex,Java,Regex,我正在尝试将所有值添加到字符串生成器中,以便可以序列化它。 所以,我的stringbuilder看起来像 sb = abc78.00xyz 现在,我只想删除小数点后的0,并希望像这样输出 Input -> Output I want abc78.00xyz -> abc78xyz abc78.08xyz -> abc78.08xyz 我试过使用正则表达式,但不起作用 尝试: 但这只有在我有数字的情况下才有效 有人能告诉我如何获得所需的值吗?您可以使用 s =

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

sb = abc78.00xyz
现在,我只想删除小数点后的0,并希望像这样输出

Input       ->  Output I want
abc78.00xyz -> abc78xyz
abc78.08xyz -> abc78.08xyz
我试过使用正则表达式,但不起作用 尝试:

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

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

您可以使用

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