Java 在新行中打印每个数据库行



场景 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})*[^"]*$) *"?");

疯狂的代码,但它奏效了,链接:字符串分词器:用逗号分隔字符串并忽略双引号中的逗号

最新更新