Cómo eliminar todos los caracteres no alfanuméricos de una string en Java

Dada una string str , la tarea es eliminar todos los caracteres no alfanuméricos e imprimirla modificada. 
Ejemplos: 

Entrada: @!Geeks-for’Geeks,123 
Salida: GeeksforGeeks123 
Explicación: en símbolo(@), signo de exclamación(!), guión(-), apóstrofes(‘) y comas(, ) se eliminan.

Entrada: Geeks_for$Geeks?{}[] 
Salida: GeeksforGeeks 
Explicación: el guión bajo (_), el signo de dólar ($), el espacio en blanco, el signo de interrogación (?), las llaves ({}) y los corchetes ([]) son remoto.

Entrada: GeeksforGeeks123 
Salida: GeeksforGeeks123 
Explicación: No es necesario eliminar ningún carácter, porque la string dada no tiene ningún carácter no alfanumérico.

 

Método 1: Uso de valores ASCII
Dado que los caracteres alfanuméricos se encuentran en el rango de valores ASCII de [65, 90] para letras mayúsculas, [97, 122] para letras minúsculas y [48, 57] para dígitos. Por lo tanto, recorra la string carácter por carácter y obtenga el valor ASCII de cada carácter. Si el valor ASCII no está en los tres rangos anteriores, entonces el carácter es un carácter no alfanumérico. Por lo tanto, omita dichos caracteres y agregue el resto en otra string e imprímala.

 
Método 2: uso de String.replaceAll() 
Los caracteres no alfanuméricos forman parte de todos los caracteres, excepto los alfabetos y los números . Pueden ser caracteres de puntuación como el signo de exclamación(!) , en el símbolo(@) , comas(, ) , signo de interrogación(?) , dos puntos(:) , guión(-), etc. y caracteres especiales como el signo de dólar($) , igual símbolo(=) , signo más (+) , apóstrofes(‘)

El enfoque es usar el método String.replaceAll para reemplazar todos los caracteres no alfanuméricos con una string vacía.

A continuación se muestra la implementación del enfoque anterior: 

Java

// Java program to remove non-alphanumeric
// characters from a string
class GFG {
  
    // Function to remove non-alphanumeric
    // characters from string
    public static String
      removeNonAlphanumeric(String str)
    {
        // replace the given string
        // with empty string
        // except the pattern "[^a-zA-Z0-9]"
        str = str.replaceAll(
          "[^a-zA-Z0-9]", "");
  
        // return string
        return str;
    }
  
    // Driver Code
    public static void main(String args[])
    {
  
        // Test Case 1:
        String str1 
          = "@!Geeks-for'Geeks, 123";
        System.out.println(
          removeNonAlphanumeric(str1));
  
        // Test Case 2:
        String str2 
          = "Geeks_for$ Geeks?{}[]";
        System.out.println(
          removeNonAlphanumeric(str2));
  
        // Test Case 3:
        String str3 
          = "GeeksforGeeks123";
        System.out.println(
          removeNonAlphanumeric(str3));
    }
}
Producción

GeeksforGeeks123
GeeksforGeeks
GeeksforGeeks123

Método 3: uso de expresiones regulares
Otro enfoque implicó el uso de expresiones regulares . La string se puede filtrar fácilmente usando ReGex [^a-zA-Z0-9] .
 

Publicación traducida automáticamente

Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *