如何检测Java字符串中的unicode字符?

如何检测Java字符串中的unicode字符?,第1张

如何检测Java字符串中的unicode字符?

“ unipre字符”的定义含糊不清,但是将被视为表示标准ISO
8859字符集
未涵盖的UTF-8
字符。如果您的情况是这样,那么请遍历String中的所有字符并测试其代码点以确定它是否在给定的字符集中。

或者,

Map<Character, Character>
在地图中使用和字符,其中包含匹配键。例如:

Map<Character, Character> charReplacementMap = new HashMap<Character, Character>() {{    put('Ü', 'Y');    // Put more here.}};String originalString = "AÜAÜ";StringBuilder builder = new StringBuilder();for (char currentChar : originalString.toCharArray()) {    Character replacementChar = charReplacementMap.get(currentChar);    builder.append(replacementChar != null ? replacementChar : currentChar);}String newString = builder.toString();

或者,您是说“所有带有变音符号的字符”吗?如果是这样,则用于

java.text.Normalizer
删除变音标记:

public static String removeDiacriticalMarks(String string) {    return Normalizer.normalize(string, Form.NFD)        .replaceAll("\p{InCombiningDiacriticalMarks}+", "");}

有一个陷阱,Ü会变成U,而不是Y。不确定那是否是您所追求的。如果要用发音字符代替,则确实需要创建映射。当然,这是一件乏味的工作,但是完成该工作所需的时间少于您遵循此主题所需的时间。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存