场景A(硬编码) 字符串项是手动输入的:
String[] arrayOfString = { "-25.87676, 67.78978", "-26.43545, 28.235325"};
for (String s : arrayOfString)
System.out.println("Line " + s);
System.out:
Line -25.87676, 67.78978
Line -26.43545, 28.235325
这样可以正常工作,因为它在没有引号的新行中打印每个项目
情景B(软代码) 从数据库中查询字符串项:
String[] arrayOfString = { dataFromDB };
for (String s : arrayOfString)
System.out.println("Line " + s);
System.out:
Line “-25.87676, 67.78978”, “-26.43545, 28.235325”
这打印到一行不是我想要的,我怎么能像场景A那样打印(每个项目的新行)
FYI .. 变量dataFromDB的系统输出是: “-25.87676,67.78978”,“ - 26.43545,28.235325”
答案 0 :(得分:0)
您的dataFromDB变量似乎是一个单独的字符串。您应该使用正则表达式将其拆分为","在坐标之后得到一个数组。
答案 1 :(得分:0)
这应该有效
for(String s : arrayOfString.split(",")){
System.out.println(s);
}
答案 2 :(得分:0)
使用以下内容: .replaceAll(“^ \”“,”“)。split(”\“?(,| $)(?=(([^ \”] \“){2}) [^ \“] * $)* \”?“);
String [] arrayOfString = dataFromDB.replaceAll("^\"", "").split("\"?(,|$)(?=(([^\"]*\"){2})*[^\"]*$) *\"?");
疯狂的代码,但它工作,链接: String Tokenizer : split string by comma and ignore comma in double quotes