/ / Por qué mi replaceAll no funciona: java, cadena, caracteres especiales, replaceeall

Por qué mi replaceAll no funciona: java, cadena, caracteres especiales, replaceeall

Intento eliminar caracteres especiales de la cadena, pero el punto es solo "?" aún en la cadena de salida, mientras que los otros se eliminaron correctamente.

String[] special = {"\*",";","_","=", "\[", "\]", ":", "\?", "-", "\.",
"\)", "\(", "/", "!", "#", ",", """, "“", "”"};
for (int i = 0; i < special.length; i++) {
source = source.replaceAll(special[i], "");
}

esta es mi cadena

https://file.io/JjiLhD

Respuestas

4 para la respuesta № 1

Deberías usar replace en lugar de replaceAll porque replaceAll utiliza la expresión regular de entrada

for (int i = 0; i < special.length; i++) {
source = source.replace(special[i], "");
}

replace es la misma función con replaceAll pero diferente entrada

Reemplaza cada subcadena de esta cadena que coincide con el objetivo literal secuencia con la secuencia de reemplazo literal especificada.


0 para la respuesta № 2

Intenta esto para alphanumeric caracteres.

.replaceAll("[^a-zA-Z0-9]", ""));

y solo alphabetical caracteres,

.replaceAll("[^a-zA-Z]", ""));