2015-08-20 97 views
2

所以我有一堆字符串,我想解析成浮動。其中一些字符串有多個小數點,即 100.2.3。我需要將這個字符串簡化爲只有1個小數點,並且在第二次出現小數點後截斷所有(包括小數點)。因此,例如,100.2.3將簡化爲100.2刪除一個字符後的所有內容,包括該字符

另外,可能有更多小數點以上只有兩個。因此,100.2.3.4.3.4.2需要簡化爲100.2以及

有沒有簡單的方法來完成這件事?由於

回答

4

您可以使用:

str = str.replaceFirst("^([^.]+\\.[^.]+)(.+)$", "$1"); 

RegEx Demo

0

也許不是最好的解決方案,但它的工作原理:

String newString = string.split("\\.")[0] + "." + string.split("\\.")[1].split("\\.")[0]; 
+1

這隻適用於一種情況:如果有2個小數點。如果字符串是「1.2.3.4」,將只返回「1.2.3」。我需要的是「1.2」。 – Harry

+0

我試過了,它對我來說工作正常,即使有更多小數。雖然我已經編輯過這篇文章,所以你可能已經嘗試過我發佈的舊代碼,正如你所說的那樣是錯誤的。 – Emd4600

相關問題