判断一个字符是否包含中文可以用正则表达式,但该表达式判断方式并不严谨,可以参照以下代码来判断。
以下代码不仅可以判断中文汉字,还可以判断中文标点符号之类的。
private static boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
return true;
}
return false;
}
可以调用String类中的toCharArray()方法(返回值为char[] ),将字符串转换为字符数组
本文介绍了一种精确判断字符串中是否包含中文字符及标点的方法,通过使用Unicode块信息,此方法不仅能够判断汉字,还能识别中文标点等特殊字符。文章提供了具体的Java代码实现,利用Character类的UnicodeBlock枚举进行字符属性判断。
1258

被折叠的 条评论
为什么被折叠?



