我们在开发时有时我们会遇到字符过多的问题,如文章标题,需要截取一定长度并后面用省略号代替。我在网上看了许多代码,觉得都不理想。因为有中文和英文字符,中文是2字节,英文是1字节,所以要判断一下,有的判断中文字符时,一些特殊字符不好判断,如“☆■♀”等等,下面是我的java代码,参考网上一些资料做了一些修改。


/** *//**

* 截取字符串设定长度

* @param str

* @param cutCount 设定长度,字节数

* @return

*/


public static String getSubStr(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;

}