/***截取字符串设定长度*@paramstr*@paramcutCount设定长度,字节数*@return*/publicstaticStringabbreviate(Stringstr,intcutCount){if(str==null)return"";StringresultStr="";char...
/**
* 截取字符串设定长度
* @param str
* @param cutCount 设定长度,字节数
* @return
*/
public static String abbreviate(String str, int cutCount) {
if (str == null)
return "";
String resultStr = "";
char[] ch = str.toCharArray();
int count = ch.length;
int strBLen = str.getBytes().length;
int temp = 0;
for (int i = 0; i < count; i++) {
resultStr += ch[i];
temp= resultStr.getBytes().length;
if (temp >= cutCount && temp < strBLen) {
resultStr += "...";
break;
}
}
return resultStr;
}
这是代码,在jsp页面调用的时候
但是输出的结果是“一二…”
想要结果输出成”一二a…“应该怎么改~~意思就是给出的长度是几就输出几个字,一个字算1个字符,不是按字节算,中文和字母数字都算1个长度,怎么弄,求教啊~~~
展开