如何使用useDelimiter()
类的Scanner
方法同时使用逗号(,)和换行符(\ n)作为分隔符?
我正在解析csv文件中的一些文本。
答案 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")