Scanner类Java中的多个分隔符

时间:2011-02-04 13:04:20

标签: java delimiter java.util.scanner

如何使用useDelimiter()类的Scanner方法同时使用逗号(,)和换行符(\ n)作为分隔符?

我正在解析csv文件中的一些文本。

6 个答案:

答案 0 :(得分:18)

 Scanner s = new Scanner("hello, world \n hello world");
 s.useDelimiter(",|\\n");
 while(s.hasNext()){
          System.out.println(s.next());

 }

<强>输出

hello
 world 
 hello world

答案 1 :(得分:7)

useDelimiter(",|\\n");

怎么样?

答案 2 :(得分:1)

useDelimiter采用正则表达式模式,因此,它会像",|\n"

答案 3 :(得分:0)

Jigar绝对正确。 但如果它不起作用,请尝试",|\\r"

因为大多数文本文件都有\ r \ n而不是\ n

答案 4 :(得分:0)

将扫描分隔符用于Excel文件 - 不要忽视RegEx的事情。 在我的例子中,excel文件由&#39; |&#39;分隔。 我一直花费大量时间使用scanner.Delimiter(&#34; |&#34;)解析行,然后逐个字符地返回。用scanner.exeDelimiter(&#34; \\ |&#34; )替换它已经解决了我的问题!

答案 5 :(得分:0)

我的文本文件中的条目如下:

01-jan-2020,102
02-jan-2020,103
…

要从每一行中读取两个值,它可以与以下代码一起使用,因为每一行的末尾都具有\r\n字符:

Scanner.useDelimiter(",|\\r\\n")