Maison  >  Article  >  Java  >  Comment supprimer les accents et convertir les symboles en alphabet anglais en Java ?

Comment supprimer les accents et convertir les symboles en alphabet anglais en Java ?

DDD
DDDoriginal
2024-11-11 03:29:02701parcourir

How Can You Remove Accent Marks and Convert Symbols to the English Alphabet in Java?

Conversion de symboles et de lettres accentuées en alphabet anglais en Java

Dans le royaume d'Unicode, où résident une myriade de caractères, certains symboles et lettres accentuées présentent une ressemblance frappante à leurs homologues de l’alphabet anglais. Pour simplifier le traitement du texte, les développeurs cherchent souvent des moyens de convertir ces caractères en l'alphabet familier de 26 lettres.

Cette conversion pose un défi de taille en raison du grand nombre de caractères Unicode et des variations subtiles au sein des lettres individuelles. Par exemple, la lettre « A » comporte à elle seule plus de 20 représentations Unicode. Classer et cartographier ces caractères avec précision peut sembler intimidant.

Solution Java pour la suppression des accents

Pour la tâche spécifique de suppression des signes diacritiques (accents) du texte en Java, le La méthode suivante s'est avérée efficace :

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("");
}

Cette méthode exploite la classe Normalizer pour convertir les caractères Unicode en leur « forme normalisée », connue sous le nom de NFD, qui sépare les caractères de base des marques d'accent. Par la suite, une expression régulière est utilisée pour supprimer tous les signes diacritiques restants de la chaîne normalisée NFD.

En utilisant cette approche, vous pouvez convertir efficacement les symboles et les lettres accentuées en leurs équivalents de l'alphabet anglais, permettant ainsi un traitement de texte rationalisé et manipulation de données plus propre.

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!

Déclaration:
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