“\u4e00”和“\u9fa5”是unicode编码,并且正好是中文编码的开始和结束的两个值,所以这个正则表达式可以用来判断字符串中是否包含中文。所以 \u4e00-\u9fa5是所有汉字的unicode编码范围。
// 获取字符串中的中文(包括符号)数
public static int getChineseSize(String content) {
if (StringUtils.isEmpty(content)) {
return 0;
}
int count = 0;//汉字数量
for (char ch : content.toCharArray()) {
// 汉字(包括中日韩扩展字符) 、中日韩一些符号(不包括标点符号)
if ((ch >= 0x4E00 && ch <= 0x9FA5) || (ch >= 0x3000 && ch <= 0x303F)) {
count = count + 1;
}
}
return count;
}