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

Gracias por sus respuestas le agregé el asterisco *** a la expresión regular y funcionó como deberia ser =), ahora me falta hacer lo que dice Fuzzylog decirle que si encuentra esos simbolos los remplace con un espacio....aunque remplace el código pues me parecio bien esa lódgica desde un inicio dividir la linea tanto por espacios como por simbolos raros. De modo que vi que el metodo .split() recibe una expresion regular, solo tengo que poner alli una expresion regular que detecte los simbolos raros y los espacios.

Segun leí es asi no? ^[A-Za-z_0-9]*
solo que como agrego el espacio " " a la expresion regular?

Código PHP:
linea "M_var*Dim_3_2-51 otra palabra";
String[] palabras linea.split("^[A-Za-z_0-9]*");
                
        for(
int i=0i<palabras.lengthi++) {
            
System.out.println(palabras[i]);
        } 
Y así como tengo el código la salida es la siguiente:
*Dim_3_2-51 otra palabra

porque no reconoce la expresion regular?, o como se representa la negacion de una expresion regular y como se representa el espacio en blanco en una expresion regular??


*****EDITO******
Me respondo a mi mismo la expresion regular para que la cache debe tener la negacion dentro de los corchetes de manera que queda asi [^A-Za-z_0-9] el metodo queda asi:

Código PHP:
public String limpiarLinea(String linea) {
        
String limpia "";
        
        
String[] palabras linea.split("[^A-Za-z_0-9]");
                
        
int i 0;
        for(
i=0i<palabras.lengthi++) {
            
limpia limpia palabras[i] + " ";
        }
        return 
limpia;
    } 
Y hasta este momento entiendo lo que me decia Fuzzylog pues con el replaceAll se hace exactamente lo mismo, no había necesidad de hacer el metodo.

Código PHP:
String cadenalimpia cadenasucia.replaceAll("[^A-Za-z_0-9]"" "); 
En si el problema esta en que no se armar expresiones regulares, pero bueno ganando experiencia poco a poco.

Gracias a todos por su ayuda =)

Si quieren saber más sobre el tema tambien esta el java identifier les dejo un link
http://www.exampledepot.com/egs/java.lang/IsJavaId.html (si esta prohibido poner links notifcarme y lo borro =))

Última edición por zero0097; 15/09/2011 a las 11:27