3

我有一个字符串

String str="second,b,c,d,e,c"

当我在 regex="," 上拆分此字符串时

String[] array=str.split(,);

我应该得到

array[5]="c".

但我得到的是

array[5]="c+carriage return".

这个回车怎么去掉?

我正在从扫描仪获取字符串。这是代码:

File file=new File(path2);
        Scanner inputstream=new Scanner(file);
        inputstream.useDelimiter("\n");
        while(inputstream.hasNext()){
            String data=inputstream.next();
            String[] val=data.split(",");
            String sql4="insert into "+name+"(question,option1,option2,option3,option4,answer) values('"+val[0]+"','"+val[1]+"','"+val[2]+"','"+val[3]+"','"+val[4]+"','"+val[5]+"')";
            s.execute(sql4);
        }

文件内容为 .csv 格式的 second,b,c,d,e,c

4

3 回答 3

1

像这样试试

String str="second,b,c,d,e,c";
str = str.replaceAll("[\n\r]", "");
String[] array=str.split(",");

for(int i=0;i<array.length;i++)
     System.out.println(array[i]);
于 2013-10-19T11:16:33.360 回答
1
List<String> lines =                          // just quick way to read file
            Files.readAllLines(
                Paths.get("C:\\Automation1\\Example.csv"),
                StandardCharsets.UTF_8);

    lines.removeAll(Arrays.asList("", null)); // <- remove empty lines
    String[] array=lines.get(0).trim().split(",");

    System.out.println(array[5]);

输出:

c
于 2013-10-19T11:13:52.887 回答
0

您可以在拆分之前在 String 上使用String#trim()

String[] arr = line.trim().split(",");
于 2013-10-19T11:27:53.653 回答