我正在阅读一个字符串列表,其中一些采用小数形式,并将它们与另一个字符串共同映射。可悲的是,在第一个列表中,我发现所有十进制术语(即所有字符串)都有一个额外的尾随零。因此,我的.equals()函数或.contains()函数不起作用。

List 1 : 134.20, 16, abacus, 44.10, 12/2/2013, 4, 45.220
List 2 : 134.2,  16, abacus, 44.2,  12/2/2013, 4, 45.22


如何在清单2中添加尾随零?是否可以使用正则表达式等以某种方式删除尾随零(如果存在)?

相反,我可以删除列表1中的尾随零吗?

最佳答案

这将读取所有不必要的尾随零:

str = str.replaceAll("(\\d+\\.\\d+?)0+", "$1");

例子:
123.456000 --> 123.456
123.000    --> 123.0

更新:在注释中,您询问了如何无条件附加零。这是您的操作方式:
str = str.replaceAll("(\\d+\\.\\d+)", "$10");

10-06 11:08