Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2011, 20:27
Avatar de zero0097
zero0097
 
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 6 meses
Puntos: 69
Limpiar una String quitandole caracteres deseados

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=0i<palabras.lengthi++) {
            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 =)