Java打印新行中的每个DB行

时间:2015-03-12 17:21:11

标签: java

场景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”

3 个答案:

答案 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