如果str.getBytes().length==str.length() 就没有汉字,否则就有,因为一个汉字两个字节,不是汉字就一个字节,而String的length()方法返回的是字数,跟非汉字字节数相等,不过汉字的符号也算汉字,比如"?"就是汉字 但是"?"就不是汉字
判断字符串中是否有中文
有中文返回true
public static boolean isChineseChar(String str){
boolean temp = false;
Pattern p=Pattern.compile("[\u4e00-\u9fa5]");
Matcher m=p.matcher(str);
if(m.find()){
temp = true;
}
return temp;
}
用正则表达式