可能会有一些需求,要求限制文本的字数。包括中英文和数字。上代码:
这个方法可以直接拷贝使用。我的项目中就一直用这个方法,好用。
/**
* 限制文本字符
*
* @param inputStr 输入的文字
* @param limitCount 文字字符数上限
* @return
*/
public static String getLimitSubstring(String inputStr, int limitCount) {
if (TextUtils.isEmpty(inputStr)) {
return null;
}
int orignLen = inputStr.length();
int resultLen = 0;
String temp = null;
for (int i = 0; i < orignLen; i++) {
temp = inputStr.substring(i, i + 1);
try {
// 3 bytes to indicate chinese word,1 byte to indicate english
// word ,in utf-8 encode
if (temp.getBytes("utf-8").length == 3) {
resultLen += 2;
} else {
resultLen++;
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if (resultLen > limitCount) {
return inputStr.substring(0, i) + "...";
}
}
return inputStr;
}
本文介绍了一种实用的方法来限制文本的字符数量,适用于中文、英文及数字等混合文本。通过UTF-8编码特性,该方法能够准确计算并限制文本长度,当超过设定的最大长度时会在末尾添加省略号。
805

被折叠的 条评论
为什么被折叠?



