2016-10-31 36 views
1

我有多個字符串,如[-123.141026905408,49.2636144033057],[ - 123.141047822927,49.2631] 我想從中獲取雙精度值。JAVA:分割字符串以獲得雙精度值

String s[] = str.split("\\[|,|\\]"); 

我用它來拆分字符串,但沒有得到雙精度值。有人有更好的解決方案?

+0

您的源數據有成對。你想保留這個還是你想要一個單一的數字列表? –

+0

只需要數字 –

回答

1

的「新手友好」,但可能不是最優雅的方式:

  1. 首先刪除所有[和]字符從輸入(使用replaceAll()什麼
  2. 上「」再拆來取代它們以接收一個字符串數組
  3. 使用parseDouble()

甲最後解析這些值更復雜的方法是使用正則表達式來查找[] ...之間的數字,並使用它來迭代您的輸入。但是如上所述,上述內容更易於理解和編碼。

編輯:請記住,你實際上不需要其他人向你解釋這些模式如何工作。他們很好地記錄在here!你可以在那裏找到例如[\[\]]應該很好地匹配打開和關閉的方括號;通過使用字符類

+0

String [] s = str.replaceAll(「\\ [」,「」).replaceAll(「\\]」,「」).split(「,」); 它適用於我,但你有更好的東西嗎? –

+0

@NomanEllahi是的,你可以拆分split(「\\」\\ s *,\\ s * \\ [「)' –

+0

不適用於我,這個表達式只返回相同的單個字符串。 –