您的位置:首页 > 其它

写一个方法,按字节截取字符串

2009-08-07 17:56 302 查看
写一个方法 String left(String str ,int n) str字符串中可能包含中文,中文是2bytes,实现的功能是
如:“中abc12” n=4 则该方法返回“中ab” “中abc国a” n=6 则返回“中abc”中文是一半时不返回

/**
* @param args
*/
public static void main(String[] args) {
System.out.println(subStringByBytes("你此AAA哈哈",6));

}

/***
* 按byte截取字符串
* @param str
* @param end 截取几个byte
* @return string
*/
public static String subStringByBytes(String str, int end) {

if(str.length()*2 <end){
return str;
}

char[] chArr = str.toCharArray();

int lenByte = 0;
for (int i = 0; i < chArr.length; i++) {
if (chArr[i] > 255) {
lenByte += 2;

} else {
++lenByte;
}
if(lenByte>=end){
if(lenByte==end){
return str.substring(0,i);
}
return str.substring(0,i-1);
}

}

return str;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐