62,614
社区成员
发帖
与我相关
我的任务
分享
public class Test2 {
public static void main(String[] args) {
String[] strs = {
"王建宙在中国移动学习实践科学发展观动员大会上",
"马刺落败燃火箭追赶希望 西北狠追休城仍须留神",
"gggggggggggggggggggg"
};
for(int i = 0; i < strs.length; i++) {
System.out.println(truncate(strs[i], 12, null));
}
}
/**
* 截取字符串,并在截取的字符串后添加指定后缀,如果字符串长度小于指定长
* 度时不添加后缀原样返回
*
* @param str 需要截取的字符串
* @param length 截取字符串的长度,字母算 1 个字,全角字符算 2 个字
* @param suffix 超出时添加的后缀
* @return
*/
public static String truncate(String str, int length, String suffix) {
if((str == null) || (str.length() == 0) || (length < 1)) {
return str;
}
char[] chs = str.toCharArray();
int offset = 0;
for(int i = 0, len = 0; i < chs.length; i++, offset++) {
len += (chs[i] > 0xff) ? 2 : 1;
if(len > length) {
break;
}
}
if(offset == chs.length) {;
return str;
}
if(suffix == null || suffix.length() == 0) {
return new String(chs, 0, offset);
}
return new String(chs, 0, offset) + suffix;
}
}
String aa = "2221111111";
String bb = aa.substring(3);
System.out.println(bb);