Java中的汉字Unicode码在 \u4E00-\u9FA5\uf900-\ufa2d 范围内,所以
1可以遍历字符串中每个char比较是否在这个范围内即可
2利用正则表达
public static void judgeChinese1(String str) { String regEx = "[\u4E00-\u9FA5\uf900-\ufa2d]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); while (m.find()) { System.out.println(m.group()); } }
3利用字节编辑,在GBK编码中,一个汉字占两个字节,在UTF-8编码中,一个汉字占三个字节,而数字英文,都是一个字节
public static boolean judgeChinese2(String str) { return str.getBytes().length == str.length(); }