我正在尝试读取逗号分隔值的列表,我需要获取这些值的子字符串,因为整个文件不是 csv。 由于我的子字符串和该行在文件中返回,我需要能够跳过空白。
我尝试过将两者都放在 和 \s 在我的分隔符中,但两者都不起作用。无论如何,不会跳过行返回。 这是我的代码:
Scanner scan = new Scanner(fileContents);
scan.useDelimiter("[\\s,]");
while (scan.hasNextLine()) {
System.out.println(scan.next());
}
System.out.println("done");
结果如下:
161
331.491712707182
4
1
0
75
1
0
12089
-100
4
1
0
75
0
0
和我想要的输出:
161
331.491712707182
4
1
0
75
1
0
12089
-100
4
1
0
75
0
0
问题似乎是由相邻的空白部分引起的。您可以使用
(\s+|,)
作为分隔符模式。
如果您的输入数据特别混乱,您甚至可以选择使用
[\s,]+
来确保将 any 相邻分隔符一起使用。