使用拆分功能拆分字符串时删除回车符

时间:2013-10-19 11:09:49

标签: java string csv split

我有一个像

这样的字符串
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格式的第二,b,c,d,e,c

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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]);

答案 2 :(得分:0)

你可以在分割之前在你的字符串上使用String#trim()

String[] arr = line.trim().split(",");