读取逗号和空格分隔的一行 - java

Bpa*_*che 4 java java.util.scanner

我愿意在Java中从下面的一行读取一系列数字:

1   80,982  163,8164                    170,2620    
Run Code Online (Sandbox Code Playgroud)

所以最终我想要结果数组 [1, 80, 982, 163, 8164, 170, 2620]

我正在考虑使用扫描仪,但不清楚如何以一种简洁的方式实现它,我可以请一些提示吗?

谢谢阅读!

Mar*_*ers 6

如果是我,我会阅读一行BufferedReader,然后简单地使用

String[] values = line.split("[, ]");
Run Code Online (Sandbox Code Playgroud)

我经常发现Scanner不整洁和矫枉过正.


ktm*_*124 5

是的,Scanner类与此搭配很好。

public static void main(String[] args) throws Exception {
    Scanner s = new Scanner(strOrFile).useDelimiter(",| ");
    List<Integer> myList = new ArrayList<Integer>();
    while (s.hasNext()) {
       myList.add(s.nextInt());
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您正在从文件中读取文件,它特别好用。(为您省事。)