2011-02-04 108 views

回答

6

如何useDelimiter(",|\\n");

+0

第一个\做什么? – tomejuan 2011-02-04 13:15:34

+3

它逃脱了第二个\。正则表达式使用\ n表示换行符,但Java也是这样,所以你写\ n将其转换为正则表达式的\ n。 – 2011-02-04 14:35:13

14
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

useDelimiter需要一个正则表达式模式,因此,它会像",|\n"

0

雪茄绝对正确。 但是,如果它不工作,尝试",|\\r"

,因为大多数的文本文件中的\ r \ n而不是仅仅的\ n

0

使用扫描分隔符的Excel文件 - 不要忽略了正则表达式的事情。 在我的情况下,excel文件由'|'分隔。 我一直花费大量的时间来使用scanner.useDelimiter(“|”)分析行,并逐个字符地取回。替换与scanner.useDelimiter(“\\ |”)已解决我的问题!