Java精确截取字符串
2007-05-03 16:05
281 查看
开发中经常遇到,字符串过长,无法完全显示的问题
这时候就需要截取我们所需要的长度,后面显示省略号或其他字符。
由于中文字符占两个字节,而英文字符占用一个字节,所以,单纯地判断字符数,效果往往不尽如人意
下面的方法通过判断字符的类型来进行截取,效果还算可以:)
如果大家有其他的解决方法欢迎贴出来,共同学习:)
private String str;
private int counterOfDoubleByte;
private byte b[];
/** *//**
* 设置需要被限制长度的字符串
* @param str 需要被限制长度的字符串
*/
public void 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 UnsupportedEncodingException ...{
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 void 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 UnsupportedEncodingException ...{
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精确截取字符串/获取字符串前指定长度字符函数
- 收集java精确截取字符串
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- java截取字符串,截串,substring和split,分割字母和数字,正则缝隙
- java按字节截取带有汉字的字符串的解法
- Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串
- Java实现字符串截取
- java截取字符串的几种方法的总结,欢迎提出问题
- Java 字符串截取问题
- java字符串处理常用函数(数字型和字符串转换,字符串拆分、查找、截取)
- Android(Java)字符、字符串的查询、检索、截取、合并等操作
- java 字符串截取的几种方式
- java 字符串截取的三种方法(推荐)
- java中常用的字符串的截取方法
- JAVA只截取字符串中的数字
- java java中subString、split、stringTokenizer三种截取字符串方法的性能比较
- java 一个截取字符串的函数
- java 字符串的截取
- Java实现按字节长度截取字符串