2016-05-05 8 views

Antwort

3

Sie suchen nach Normalizer in java.text.Normalizer . Es ermöglicht Ihnen, zwischen Unicode-Zeichen mit Akzenten und ihren Dekompositionen zu mappen:
Es konvertiert im Grunde alle akzentuierten Zeichen in ihre deaccented Gegenstücke gefolgt von ihrer Kombination Diakritika. Jetzt können Sie eine Regex verwenden, um die diakritischen Zeichen zu entfernen.

 public static void main(String[] args) { 

      System.out.println(deAccent("Xin chào Việt Nam")); 
     } 

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

Ich liebe dich @Ahmed Gamal – CauCuKien

+0

@CauCuKien Sie sind willkommen :) –

+0

aber Eingang mit String "đi", deAccent ("đi") ist das Ergebnis gegeben "đi". Es normalisiert Text nicht effektiv – VanThaoNguyen

Verwandte Themen