我怎么才能知道我的String包含变音符号?

例如 –

text = Československá obchodní banka; text string contains diacritics like Č , á etc. 

我想写一个函数,我将传递这个字符串“Československáobchodníbanka”, function will return true if string contains diacritics else false ,则function will return true if string contains diacritics else false

我必须处理变音符号和字符串,其中包含不分别落入Az或az范围的字符。

 1) If String contains diacritics then I have to do some XXXXXX on it. 2) If String contains character other than AZ or az and not contains diacritics then do some other operations YYYYY. 

我不知道该怎么做。

一条知识:在Unicode中存在一个代码,但是可以使用a和一个combining mark-'得到相同的结果。

您可以使用java.text.Normalizer ,如下所示:

 public static boolean hasDiacritics(String s) { // Decompose any á into a and combining-'. String s2 = Normalizer.normalize(s, Normalizer.Form.NFD); return s2.matches("(?s).*\\p{InCombiningDiacriticalMarks}.*"); //return !s2.equals(s); } 

Normalizer类似乎能够实现这一目标。 一些有限的测试表明

 Normalizer.isNormalized(text, Normalizer.Form.NFD) 

可能是你需要的。