Maison > Java > javaDidacticiel > Comment convertir des symboles Unicode et des lettres accentuées en alphabet anglais en Java ?

Comment convertir des symboles Unicode et des lettres accentuées en alphabet anglais en Java ?

DDD
Libérer: 2024-11-11 16:02:02
original
315 Les gens l'ont consulté

How to Convert Unicode Symbols and Accent Letters to the English Alphabet in Java?

Conversion de symboles et de lettres d'accentuation en alphabet anglais en Java

Énoncé du problème

Unicode englobe un vaste répertoire de caractères, dont beaucoup sont similaires aux lettres de l'alphabet anglais. Le défi réside dans la conversion de tous ces personnages similaires en leurs homologues anglais. Par exemple :

  • ҥ se convertit en H
  • Ѷ se convertit en V
  • Ȳ se convertit en Y
  • Ǭ se convertit en O

Les versions Unicode de lettres comme A/a posent une classification supplémentaire difficulté.

Solution Java

Pour relever ce défi de conversion, nous pouvons tirer parti de l'approche suivante en Java :

  • Utiliser la classe Normalizer pour normaliser la chaîne dans le formulaire de normalisation D (NFD). Cela développe les caractères accentués en caractères de base et en combinant des signes diacritiques.
  • Utilisez une expression régulière pour identifier et supprimer les signes diacritiques combinés à l'aide du code suivant :
import java.text.Normalizer;
import java.util.regex.Pattern;

public String deAccent(String str) {
    String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); 
    Pattern pattern = Pattern.compile("\p{InCombiningDiacriticalMarks}+");
    return pattern.matcher(nfdNormalizedString).replaceAll("");
}
Copier après la connexion

Ce code normalise d'abord le chaîne utilisant NFD, puis utilise une expression régulière pour supprimer les signes diacritiques, ce qui entraîne la suppression des symboles d'accent et la conversion des caractères dans leur alphabet anglais équivalents.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal