Scanner类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 
  • 的JavaDoc

useDelimiter(",|\\n");怎么样useDelimiter(",|\\n");

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

吉格是完全正确的。 但如果它不起作用,请尝试",|\\r"

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

使用Scan Delimiters for Excel文件 – 不要忽视RegEx的事情。 在我的例子中,excel文件由’|’分隔。 我花了很多时间使用scanner.Delimiter(“|”)解析行,然后逐个字符地返回。 用scanner.useDelimiter( “\\ |” )替换它已经解决了我的问题!