¿Cómo uso el método useDelimiter()
de la clase Scanner
para usar tanto la coma (,) como el nuevo carácter de línea (\ n) como delimitadores?Múltiples delimitadores en la clase de escáner de Java
Estoy analizando texto de un archivo csv.
¿Cómo uso el método useDelimiter()
de la clase Scanner
para usar tanto la coma (,) como el nuevo carácter de línea (\ n) como delimitadores?Múltiples delimitadores en la clase de escáner de Java
Estoy analizando texto de un archivo csv.
¿Qué tal useDelimiter(",|\\n");
useDelimiter toma un patrón de expresión, por lo que, sería algo así como ",|\n"
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
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!
¿Qué hace el primero \ do? – tomejuan
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. –
Pregunto por qué tomejuan no respondió. Tal vez "escapes", "regex", o la explicación sobre el segundo '\'. – DSlomer64