使用带有分隔符的扫描仪时如何跳过空格?

问题描述 投票:0回答:1

我正在尝试读取逗号分隔值的列表,我需要获取这些值的子字符串,因为整个文件不是 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
java csv delimiter
1个回答
0
投票

问题似乎是由相邻的空白部分引起的。您可以使用

(\s+|,)
作为分隔符模式。

如果您的输入数据特别混乱,您甚至可以选择使用

[\s,]+
来确保将 any 相邻分隔符一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.