Hola a todos, resulta que necesito hacer un compilador, pero en partes, por ahora en lo que tengo dificultades es en que limpie una String quitandole carácteres que no quiero que salgan en pantalla, mas o menos así:
si leo la cadena: "M_var*Dim_3_2-51 otra palabra%extra"
la salida debería ser:
M_var
Dim_3_2
51
otra
palabra
extra
entonces digo:
Código PHP:
//divido la linea por "palabras" y las almaceno en un arreglo vdd
String[] palabras = linea.split("\\ ");
for(int i=0; i<palabras.length; i++) {
if(palabras[i].matches("[A-Za-z_0-9]")) {
System.out.println("La palabra contiene caracteres validos" + palabras[i]);
}
else {
System.out.println("Hay caracteres no válidos como #$%&*+{}<>" + palabras[i]);
}
}
Bueno eso es masomenos lo que tengo, el asunto es que corro mi programa, leo un archivo que tiene la misma linea que expuse aqui, y el arreglo de strings me almacena 3 palabras:
1.- M_var*Dim_3_2-51
2.- otra
3.- palabra%extra
pero al correr el programa me dice que las 3 tienen caracteres inválidos, siendo que la numero 2 no los tiene porque tiene solo letras. Estoy usando mal las expresiones regulares? intente colocando solo "w" que segun leí es equivalente a la expresion que trato armar.
Mi duda en sí, es como le hago si voy mal que es lo que debo hacer, que logica me sugieren, que metodos o clases puedo usar, hay alguna que ya lo haga más facil, o cual es mi error porque no me reconoce que la palabra "otra" es válida
Gracias de antemano por su ayuda, cualquier sugerencia es bienvenida, tengo que entregar esto mañana por la tarde asi que agradecería que si pueden o saben una solucion me la faciliten a la brevedad posible.
Gracias nuevamente y que esten bien =)