用 java来截取中文英文字符串,过多的用省略号显示
需求:任意一个字符串 比如"abc我爱中国" 大于12个字节的 要截取掉,用 ... 来结尾, 最终结果不能大于12个字节 注 中文占2个字节
public static String subStringCN(final String str, final int maxLength) {
if (str == null) {
return str;
}
String suffix = "...";
int suffixLen = suffix.length();
final StringBuffer sbuffer = new StringBuffer();
final char[] chr = str.trim().toCharArray();
int len = 0;
for (int i = 0; i < chr.length; i++) {
if (chr[i] >= 0xa1) {
len += 2;
} else {
len++;
}
}
if(len<=maxLength){
return str;
}
len = 0;
for (int i = 0; i < chr.length; i++) {
if (chr[i] >= 0xa1) {
len += 2;
if (len + suffixLen > maxLength) {
break;
}else {
sbuffer.append(chr[i]);
}
} else {
len++;
if (len + suffixLen > maxLength) {
break;
}else {
sbuffer.append(chr[i]);
}
}
}
sbuffer.append(suffix);
return sbuffer.toString();
}
public static void main(String[] args) {
String st2 = "是个好人啊,是个好人啊";
System.out.println(subStringCN(st2, 12));
String st3 = "是个好人啊 persen";
System.out.println(subStringCN(st3, 12));
String st4 = " persen是个好人啊";
System.out.println(subStringCN(st4, 12));
String st1 = "个好人啊";
System.out.println(subStringCN(st1, 12));
String st0 = "sdddddddddddddddddddd";
System.out.println(subStringCN(st0, 12));
}
分享到:
相关推荐
解决截取字符串中带有汉字的问题,以防截取时汉字截取一般出现错误情况
关于java按字节截取带有汉字的字符串的解法.不错的一个程序。我也是从高手那拿来的,觉得不错,传上来给感兴趣的朋友学习学习。
java 字符串截取类,兼容中英文及日韩文字格式
Java精确截取字符串
delphi 实现截取字符串中中文+英文混合截取,当字符串中包含中文和英文支付时,有时候会将一个中文截取1半,出现乱码。该demo能很好的解决该问题
java 字符串截取工具类java 字符串截取工具类
自己输入一个字符串,字符串中可以包括字符和汉字,截取指定的字符串
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
Java精确截取字符串.pdf
SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
JavaScript字符串处理函数,根据定义的长度截取字符串,超出部分裁掉追加……,很多时候网页上显示的内容需要缩成“…”该方法用于处理字符串显示固定长度,超长部分用“…”代替: /**参数说明: * 根据长度截取...
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...
可以截取中英文字符串,也可以含有字符,里面有好几个方法 有按字符个数截取 有按字节数来截取不会存在乱码
java编写一个截取字符串的函数,输入为一个字符串和字节数
java中英文字符串截取
substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 substring截取字符串 ...
各种java截取字符串方法及参数使用解释说明
SQL截取字符串函数(1、截取从字符串左边开始N个字符 2、截取从字符串右边开始N个字符(例如取字符www.163.com) 3、截取字符串中任意位置及长度 等等)
substr() 方法能够根据指定长度来截取子字符串。它包含两个参数,第一个参数 表示准备截取的子字符串起始下标,第二个参数表示截取的长度。 示例 1 在下面示例中使用 lastIndexOf() 获取字符串的最后一个点号的下标...