编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”
public static String subString(String strSrc, int size) {
String subString = "";
int subStrLen = 0;
int subStrSize = 0;
if (size > strSrc.getBytes().length) {
return "";
}
for (int i = 0; i < strSrc.length(); i++) {
if (strSrc.substring(i, i + 1).getBytes().length == 1) {
subStrSize += 1;
} else if (strSrc.substring(i, i + 1).getBytes().length == 2) {
subStrSize += 2;
}
subStrLen += 1;
if (subStrSize == size) {
break;
} else if (subStrSize > size) {
subStrLen = subStrLen - 1;
break;
}
}
subString = strSrc.substring(0, subStrLen);
return subString;
}