Conversion de caractères non anglais en alphabet anglais en Java
Les caractères non anglais peuvent poser des problèmes lorsque vous travaillez avec des données textuelles. Pour rationaliser le traitement, il est souvent nécessaire de convertir ces caractères en leurs équivalents de l'alphabet anglais. Cette tâche peut être ardue, étant donné le grand nombre de caractères Unicode.
Énoncé du problème
Le défi réside dans l'identification et la conversion des caractères similaires du tableau Unicode en lettres dans l'alphabet anglais. Par exemple, plusieurs variantes de la lettre « A » existent, ce qui rend la classification difficile.
Solution
Pour résoudre ce problème en Java, vous pouvez exploiter la classe Normalizer et expressions régulières. L'approche suivante simplifie le processus de conversion :
Normalisez la chaîne :
Supprimer les signes diacritiques :
Remplacer les diacritiques :
Cette méthode supprime principalement les signes diacritiques (accents) des caractères accentués, les convertissant efficacement en leurs équivalents de l'alphabet anglais.
Exemple
Le code Java suivant illustre cette approche :
import java.text.Normalizer; import java.util.regex.Pattern; public class ConvertAccentedCharsToEnglish { public static String deAccent(String str) { String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); Pattern pattern = Pattern.compile("\p{InCombiningDiacriticalMarks}+"); return pattern.matcher(nfdNormalizedString).replaceAll(""); } public static void main(String[] args) { String accentedString = "tђє Ŧค๓เℓy"; String convertedString = deAccent(accentedString); System.out.println(convertedString); // Output: the Family } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!