我的輸入字符串是格式拆分CSV和不同的數組存儲在Java
12.8478746,77.6632938,5:20:38 PM
12.8478746,77.6632938,5:20:49 PM
12.8478746,77.6632938,5:40:05 PM
................................
12.8478746,77.6632938,5:40:14 PM
的行數是未知的。我需要解析字符串並將其存儲爲(double lat,double long,string time)。另外,我需要以(lat,long,time)作爲參數進行函數調用,'n'次n取決於輸入字符串的行數。我該怎麼做呢。
這是我的嘗試:
String[] lines = result.split("\\s+"); // split on new lines
for (int i = 0; i < lines.length; i++) {
String[] temp = lines[i].split("\\s*,\\s*");
double lat = Double.parseDouble(temp[0]);
double lo = Double.parseDouble(temp[1]);
AddMarker(lat,lo,temp[2]);
}
這不會工作,因爲在「下午5時20分38秒」有5點二十○分38秒和PM之間,在我輸入一個空格每一行分離由一個空間。 所以,我發現了錯誤:無效的雙「PM」
解決這個問題,或者你寫的代碼?因爲我們希望看到你已經嘗試過 –
你可以使用拆分或甚至正則表達式來輕鬆解決它,我想正則表達式看起來很棒=)。我會爲你解決的,但是我同意cricket_007,你做了什麼? – Yussef
你可以使用一個簡單的正則表達式來分割輸入字符串。爲了存儲,您可以創建一個具有lat,long和time屬性的類,並維護它的列表或類似內容。 –