tengo un problema a la hora de matchear una condicion en una instruccion if
es la siguiente, texto un texto que recorro linea a linea,
lo que quiero guardar empieza en una linea por 4 digitos numericos y lluego texto que acaba en la palabra ("Página"). lo que hago es que si la linea empieza con 4 digitos y contiene Página copie esa linea.
si la linea empieza por digitos numericos y la siguiente linea contiene Página
copie dicha linea y la siguiente, y ahora viene mi duda.
lo hago tal que asi
Código Java:
Ver original
if ( match.find() && linea.contains( "Página" ) ) { entrada = linea; //System.out.println( "ENTRADA1: " + entrada ); } if ( match.find() && siguienteLinea.contains( "Página" ) ) { entrada = linea + "\n" + siguienteLinea; //System.out.println( "ENTRADA22: " + entrada ); i++; }
para el primer caso funciona a la perfeccion, pero en el segundo caso no funciona bien, y el fallo esta en match.find
por si es de interes, la declaracion de match lo tengao asi
Código Java:
Ver original
Pattern patron = Pattern.compile("^[0-9][0-9][0-9][0-9]"); Matcher match = patron.matcher(linea);
alguien puede decirme que es lo que falla?
segun lei en la apli de java, find() devuelve true si encontro el patron en la cadena que se le pasa, y en mi caso esta devolviendo false en el segundo if
gracias