java中按字节数的长度来截取字符串,并以...来忽略
2007-08-22 17:50
387 查看
public class SetLimitLengthString {
private String str;
private int counterOfDoubleByte;
private byte b[];
/**
* 设置需要被限制长度的字符串
* @param str 需要被限制长度的字符串
*/
public SetLimitLengthString(String str){
this.str = str;
}
/**
* @param len 需要显示的长度(<font color="red">注意:长度是以byte为单位的,一个汉字是2个byte</font>)
* @param symbol 用于表示省略的信息的字符,如“...”,“>>>”等。
* @return 返回处理后的字符串
*/
public String getLimitLengthString(int len, String symbol) throws Exception {
counterOfDoubleByte = 0;
b = str.getBytes("GBK");
if(b.length <= len)
return str;
for(int i = 0; i < len; i++){
if(b[i] < 0)
counterOfDoubleByte++;
}
if(counterOfDoubleByte % 2 == 0)
return new String(b, 0, len, "GBK") + symbol;
else
return new String(b, 0, len - 1, "GBK") + symbol;
}
}
private String str;
private int counterOfDoubleByte;
private byte b[];
/**
* 设置需要被限制长度的字符串
* @param str 需要被限制长度的字符串
*/
public SetLimitLengthString(String str){
this.str = str;
}
/**
* @param len 需要显示的长度(<font color="red">注意:长度是以byte为单位的,一个汉字是2个byte</font>)
* @param symbol 用于表示省略的信息的字符,如“...”,“>>>”等。
* @return 返回处理后的字符串
*/
public String getLimitLengthString(int len, String symbol) throws Exception {
counterOfDoubleByte = 0;
b = str.getBytes("GBK");
if(b.length <= len)
return str;
for(int i = 0; i < len; i++){
if(b[i] < 0)
counterOfDoubleByte++;
}
if(counterOfDoubleByte % 2 == 0)
return new String(b, 0, len, "GBK") + symbol;
else
return new String(b, 0, len - 1, "GBK") + symbol;
}
}
相关文章推荐
- Java实现按字节长度截取字符串的方法
- Java按字节长度截取字符串(支持截取带HTML标签的字符串,并自动补全)工具类
- java按指定的字节Byte的起始位置截取长度截取字符串
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- Java按字节长度截取字符串
- java和Js 按字节来截取字符串长度(为了符合数据库varchar)
- 用Java实现按字节长度截取字符串的方法
- Java字符串按字节数截取长度
- Java按字节长度截取字符串
- Java实现按字节长度截取字符串的方法
- Java实现按字节长度截取字符串
- Java实现按字节长度截取字符串
- Java按字节长度截取字符串
- 用Java实现按字节长度截取字符串的方法
- 用Java实现按字节长度截取字符串的方法
- Java按字节长度截取字符串之二
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- 用Java实现按字节长度截取字符串
- 用Java实现按字节长度截取字符串的方法