Un carácter que no es un carácter alfabético o numérico se llama carácter especial. Deberíamos eliminar todos los caracteres especiales de la cadena para que podamos leer la cadena con claridad y fluidez. Los caracteres especiales no son legibles, por lo que sería bueno eliminarlos antes de leer.
cadena de longitud
Método Java reemplazarTodo()
Java reemplaza todo() método de Cadena La clase reemplaza cada subcadena de esta cadena que coincide con la expresión regular dada con el reemplazo.
Sintaxis
public String replaceAll(String regex, String replacement)
Este método acepta dos parámetros:
Devuelve el cadena resultante . arroja Excepción de sintaxis de patrón si la sintaxis de la expresión regular no es válida. El método anterior produce el mismo resultado que la expresión:
Pattern.compile(regex).matcher(str).replaceAll(repl)
Ejemplo de eliminación de caracteres especiales utilizando el método replaceAll()
En el siguiente ejemplo, el método removeAll() elimina todos los caracteres especiales de la cadena y coloca un espacio en su lugar.
public class RemoveSpecialCharacterExample1 { public static void main(String args[]) { String str= 'This#string%contains^special*characters&.'; str = str.replaceAll('[^a-zA-Z0-9]', ' '); System.out.println(str); } }
Producción
This string contains special characters
Ejemplo
En el siguiente ejemplo, reemplazamos todos los caracteres especiales con el espacio.
public class RemoveSpecialCharacterExample2 { public static void main(String args[]) { String str = 'Hello+-^Java+ -Programmer^ ^^-- ^^^ +!'; str = str.replaceAll('[-+^]*', ' '); //str=str.replaceAll('\W', ' ') //we can also use this regular expression System.out.println(str); } }
Producción
Hello Java Programmer !
Ejemplo de eliminación de caracteres especiales utilizando lógica definida por el usuario
En el siguiente ejemplo, definimos la lógica para eliminar caracteres especiales de una cadena. Sabemos que el valor ASCII de los alfabetos de letras mayúsculas comienza desde 65 a 90 (A-Z) y el valor ASCII de los alfabetos de letras minúsculas comienza desde 97 a 122 (a-z). Cada carácter se compara con su valor ASCII correspondiente. Si ambas condiciones especificadas devuelven verdadero, devuelve verdadero; de lo contrario, devuelve falso. El en bucle se ejecuta hasta la longitud de la cadena. Cuando la cadena alcanza su tamaño, finaliza la ejecución y obtenemos la cadena resultante.
public class RemoveSpecialCharacterExample3 { public static void main(String[] args) { //declare a string having special characters String str='Pr!ogr#am%m*in&g Lan?#guag(e'; String resultStr=''; //loop execute till the length of the string for (int i=0;i64 && str.charAt(i)<=122) returns true if both conditions { adding characters into empty string resultstr="resultStr+str.charAt(i);" } system.out.println('string after removing special characters: '+resultstr); < pre> <p> <strong>Output</strong> </p> <pre> String after removing special characters: ProgrammingLanguage </pre> <hr></=122)>
=122)>