【发布时间】:2011-02-04 13:04:20
【问题描述】:
如何使用Scanner 类的useDelimiter() 方法同时使用逗号(,) 和换行符(\n) 作为分隔符?
我正在解析 csv 文件中的一些文本。
【问题讨论】:
标签: java delimiter java.util.scanner
如何使用Scanner 类的useDelimiter() 方法同时使用逗号(,) 和换行符(\n) 作为分隔符?
我正在解析 csv 文件中的一些文本。
【问题讨论】:
标签: java delimiter java.util.scanner
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")
【讨论】:
Jigar 是绝对正确的。
但如果不起作用,请尝试",|\\r"
因为大多数文本文件都有 \r\n 而不仅仅是 \n
【讨论】:
对 Excel 文件使用扫描分隔符 - 不要忽视 RegEx 的事情。 在我的情况下,excel文件由'|'分隔。 我一直在花费大量时间使用scanner.useDelimiter(“|”)解析行,并逐个字符地返回。将其替换为scanner.useDelimiter("\\|") 解决了我的问题!
【讨论】: