我的输入字符串是格式拆分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属性的类,并维护它的列表或类似内容。 –