查询数据库时总是会要求根据汉字查询或者拼音全拼或者拼音首字母,所以如何判断输入字符串为汉字还是字母是一个问题,下段代码就可以判断输入的字符串是汉字还是字母。代码如下:
boolean isGB2312=false;
for(char l:str.toCharArray()) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(l);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
isGB2312=true;
}
}
其中红色的str就是传入的字符串,最后根据isGB2312的值判断该字符串是否为汉字。