[英]Multiple delimiters in Scanner class of Java
如何使用Scanner
类的useDelimiter()
方法将逗号 (,) 和换行符 (\\n) 用作分隔符?
我正在解析 csv 文件中的一些文本。
Scanner s = new Scanner("hello, world \n hello world");
s.useDelimiter(",|\\n");
while(s.hasNext()){
System.out.println(s.next());
}
输出
hello
world
hello world
useDelimiter(",|\\\\n");
怎么样useDelimiter(",|\\\\n");
我的文本文件有如下条目:
01-jan-2020,102
02-jan-2020,103
…
要从每一行读取两个值,它使用以下方法,因为每一行结尾都有\\r
和\\n
字符:
Scanner.useDelimiter(",|\\r\\n")
useDelimiter 采用正则表达式模式,因此,它类似于",|\\n"
Jigar 是完全正确的。 但如果它不起作用,请尝试",|\\\\r"
因为大多数文本文件都有 \\r\\n 而不仅仅是 \\n
对 Excel 文件使用扫描分隔符 - 不要忽视 RegEx 的事情。 在我的情况下,excel 文件由“|”分隔。 我花了大量时间使用scanner.useDelimiter("|") 解析行,并逐个字符地取回。 用scanner.useDelimiter( "\\\\|" ) 替换它解决了我的问题!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.