public static String splitString(String str, int len) {
return splitString(str, len, "...");
}
public static String splitString(String str,int len,String elide) {
if (str == null) {
return "";
}
byte[] strByte = str.getBytes();
int strLen = strByte.length;
if (len >= strLen || len < 1) {
return str;
}
int count = 0;
for (int i = 0; i < len; i++) {
int value = (int) strByte[i];
if (value < 0) {
count++;
}
}
if (count % 2 != 0) {
len = (len == 1) ? len + 1 : len - 1;
}
return new String(strByte, 0, len) + elide.trim();
}
方法一:
public static int countChineseCharacter(String originStr) {
int count = 0;
String temp = null;
for (int i = 0; i < originStr.length(); i++) {
temp = String.valueOf(originStr.charAt(i));
if (temp.getBytes().length == 2)
count++;
}
return count;
}
方法二:
public static int countChinese(String originalStr){
int count = 0;
Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");
Matcher matcher = pattern.matcher(originalStr);
while(matcher.find())
count++;
return count;
}