How to compare non english characters with accents

前端 未结 4 979
既然无缘
既然无缘 2020-12-20 11:41

I want to compare 2 strings which have some non English character in them

String1 = debarquer
String2 = débárquér

On comparing above 2 str

4条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-20 12:25

    To do this you can use Java's Normalizer class. Just normalize the Strings, then strip out the diacritical marks, like so:

    String stripAccents(String string) {
        string = Normalizer.normalize(string, Normalizer.Form.NFD);
        string = string.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
    }
    

    You can then use this to compare the two strings minus the accents:

    stripAccents(string1).equals(stripAccents(string2))
    

提交回复
热议问题