English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cómo eliminar caracteres no ASCII de una cadena?

Clase de caracteres Posix\ p {ASCII} Coincide con los caracteres ASCII, mientras que el carácter de metasímbolo ^ se utiliza como negativo.

Es decir, la siguiente expresión coincide con todos los caracteres no ASCII.

"[^\\p{ASCII}]"

replaceAll()El método de la clase String acepta una expresión regular y una cadena de reemplazo, y reemplaza los caracteres de la cadena actual con la cadena de reemplazo especificada (coincidentes con el patrón dado).

Por lo tanto, puede usarreplaceAll()El método elimina los caracteres coincidentes reemplazándolos con la cadena vacía "".

Ejemplo1

import java.util.Scanner;
public class Exp {}}
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      String regex = "[^\\p{ASCII}]";
      System.out.println("Ingrese los datos de entrada:");
      String input = sc.nextLine();
      String result = input.replaceAll(regex, "");
      System.out.println("Resultado: "+result);
   }
}

Resultado de salida

Ingrese los datos de entrada:
¿Por qué nos caemos?
Resultado: ¿Por qué nos caemos?

Ejemplo2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese la cadena de entrada:");
      String input = sc.nextLine();
      String regex = "[^\\p{ASCII}]";
      //Crear un objeto de patrón
      Pattern pattern = Pattern.compile(regex);
      //Coincidir con el patrón compilado en la cadena
      Matcher matcher = pattern.matcher(input);
      //Crear un área de memoria de cadena vacía
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         matcher.appendReplacement(sb, "");
      }
      matcher.appendTail(sb);
      System.out.println("Resultado: \n");+ sb.toString());
   }
}

Resultado de salida

Ingrese la cadena de entrada:
¿Por qué nos caemos?
Resultado:
¿Por qué nos caemos?
Te gustará