Reemplazar caracter por nada

Jose
22 de Octubre del 2003
Hola atodos,
quiero reemplazar un caracter '-' por nada '' y al hacer algo parecido a esto
fis_dni = fis_dni.replace('-','');
me devuelve un error de literal empty
luego intento
fis_dni = fis_dni.replaceAll(".","");
y me devuelve una cadena vacia :??

por favor que alguien me ilumine...
Gracias

Mario Lavarreda
22 de Octubre del 2003
Viejo ..
solo tenes que dar el espacio
asi....
fis_dni = fis_dni.replaceAll("-"," ");
no asi..
fis_dni = fis_dni.replaceAll("-","");

Jose
22 de Octubre del 2003
pero entonces estoy sustituyendo el guion por un espacio, lo que quiero es quitar los guieones y no dejar nada.

Alguna sugerencia? quizas con otro metodo?

Gracias

chuidiang
22 de Octubre del 2003
No puedes hacer eso con una clase String. Tienes dos opciones:

- Usa una clase StringBuffer. Tiene el metodo delete (inicio, fin) que borra un grupo de caracteres.

- Construyete una nuevo String sin los guiones. La clase StringTokenizer te lo facilita.

StringTokenizer tokenizer = new StringTokenizer (dni, "-");
String nuevoDni="";
while (tokenizer.hasMoreTokens())
{
nuevoDni = nuevoDni + tokenizer.nextToken();
}

Se bueno.

chuidiang
22 de Octubre del 2003
Perdón, me retracto de que no puedes hacerlo en el String.
El método replaceAll debe funcionar, pero la primera cadena es un patrón, no un literal exacto. Es dedir, admite caracteres espaciales para reemplazar números, signos de puntuación letras, etc. Quizás el guión coincide con algo. Echa un ojo a la api de java (www.java.sun.com) a la clase Pattern.

Se bueno.