java 字符串截取问题2

来源:互联网 发布:阿里云个人网站 编辑:程序博客网 时间:2024/06/07 05:27

写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码:如(“我ABC”,4)应该截为“我AB”,输入(“我ABC 汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”。

public String subString(String str,int subBytes){

      int bytes = 0;

      for(int i = 0 ;i<str.length();i++){

           if(bytes==subBytes){

                return str.subString(0,i);

            }

            char c = str.charAt(i);

            if(c<256){

                 bytes +=1;

            }else{

                 bytes +=2;

                 if(bytes - subBytes ==1){

                        return str.subString(0,i);

                 }

            }

      }

      return str;

}

原创粉丝点击