场景 A(硬代码)字符串项是手动键入的:
String[] arrayOfString = { "-25.87676, 67.78978", "-26.43545, 28.235325"};
for (String s : arrayOfString)
System.out.println("Line " + s);
系统输出 :
Line -25.87676, 67.78978
Line -26.43545, 28.235325
这工作得很好,因为它可以在没有引号的新行中打印每个项目
方案 B(软代码)从数据库中查询字符串项:
String[] arrayOfString = { dataFromDB };
for (String s : arrayOfString)
System.out.println("Line " + s);
系统输出 :
Line “-25.87676, 67.78978”, “-26.43545, 28.235325”
这打印到一行,这不是我想要的,我怎样才能像场景 A 一样打印(每个项目换行)
仅供参考。变量 dataFromDB 的系统输出为: "-25.87676, 67.78978", "-26.43545, 28.235325"
你的 dataFromDB 变量似乎是单个字符串。您应该使用正则表达式将其拆分为坐标后的","以获取数组。
这应该有效 for(String s : arrayOfString.split(",")){
System.out.println(s);
}
使用以下内容:.replaceAll("^\", ").split("\"?(,|$)(?=(([^\"]\"){2})[^\"]*$) *\"?");
String [] arrayOfString = dataFromDB.replaceAll("^"", "").split(""?(,|$)(?=(([^"]*"){2})*[^"]*$) *"?");
疯狂的代码,但它奏效了,链接:字符串分词器:用逗号分隔字符串并忽略双引号中的逗号