2011-02-04 16 views

Respuesta

6

¿Qué tal useDelimiter(",|\\n");

+0

¿Qué hace el primero \ do? – tomejuan

+3

Se escapa el segundo \. Regex usa \ n para significar nueva línea, pero también lo hace Java, por lo que escribe \\ n que se traduce a \ n para la expresión regular. –

+0

Pregunto por qué tomejuan no respondió. Tal vez "escapes", "regex", o la explicación sobre el segundo '\'. – DSlomer64

14
Scanner s = new Scanner("hello, world \n hello world"); 
s.useDelimiter(",|\\n"); 
while(s.hasNext()){ 
      System.out.println(s.next()); 

} 

salida

hello 
world 
hello world 
+0

JavaDoc no es de ninguna ayuda para tomar juuan. – DSlomer64

1

useDelimiter toma un patrón de expresión, por lo que, sería algo así como ",|\n"

0

Jigar es absolutamente correcto. Pero si no funciona, intente ",|\\r"

ya que la mayoría de archivos de texto tienen \ r \ n en lugar de sólo \ n

0

utilizar Escanear delimitadores de archivos de Excel - no pase por alto la cosa expresiones regulares. En mi caso, el archivo de Excel está delimitado por '|'. He pasado un tiempo considerable para analizar filas usando scanner.useDelimiter ("|"), y he recuperado carácter por carácter. Reemplazando eso con scanner.useDelimiter ("\\ |") ha resuelto mi problema!

Cuestiones relacionadas