我们在开发中总能碰到这样的问题,比如说有一些文章的标题在显示中想要定长,但里边还有一些字符,所以处理起来可能有一些麻烦,我在昨天就遇到了这个问题,所以匆忙总写了一个方法,供大家参考,希望能给大家提供一些好的思路
/**
* @param source
* 源字符串
* @param length
* 截取长度
* @param trimSource
* 补齐的自定义字符
* @return
*/
public String getResult(String source, int length, String trimSource) {
String result = "";
// 截取长度超过源字符串长度时候,直接返回源字符串,并在后面补齐自定义字符
if (length > source.length()) {
result = source;
for (int i = 0; i < length - source.length(); i++) {
result += trimSource;
}
} else {
int len = 0;
for (int i = 0; i < source.length(); i++) {
char c = source.charAt(i);
if (len == length) {
break;
} else if (len == length - 1) {
if (c >= 0 && c <= 255) {
len += 1;
result += c;
} else {
len += 2;
result += trimSource;
}
break;
} else {
if (c >= 0 && c <= 255) {
len += 1;
result += c;
} else {
len += 2;
result += c;
}
}
}
}
return result;
}