从String --〉String[],每个字符串长度可自由设定

解决方案 »

  1.   

    是不是把一个string,按指定长度划分?
    好象也不是什么很挑战啊,你可以用循环来实现
      

  2.   

    public String[] str_wrap(String str,int width)
      {
        int length=str.length();
        int count=length/width + 1;   
        String[] array=new String[count];
        for(int i=0;i<count;i++)
        {
          int beginIndex=i*width;
          int endIndex=(i+1)*width;
          if(endIndex>length)
            endIndex=length;
          array[i]=str.substring(beginIndex,endIndex);
        }
        return array;
      }
      

  3.   

    String[] Str_Wrap(String cString,int iWidth ){
        String[] ret=null;
        int leng=cString.length() ;
        int i=0,j=0,k=0;
        while(i<=leng){
          j=cString.indexOf(" ",i);
          if (j<=i+iWidth-1){
            i+=j;
            ret[k]+=cString.substring(i,j);
          }else{
            k++;
          }
        }
        return ret;
      }这个有问题吗?
      

  4.   

    String[] Str_Wrap(String cString,int iWidth ){
        String[] ret=null;
        int leng=cString.length() ;
        int i=0,j=0,k=0,flag=0;
        while(i<=leng){
          j=cString.indexOf(" ",i);
          if (j!=-1&&j<flag+iWidth-1){
            ret[k]+=cString.substring(i,j);
            i=j;
          }else if(j!=-1){
            i=j;
            while(cString.indexOf(" ",i)==i+1){
                 i++;
            }
            flag=i;
            k++;
          }
         else{
            ret[++k]=cString.substring(i);
         }      
        }
        return ret;
      }
    你试试这个,但这个不能解决 iWidth<单词长度的情况
      

  5.   

    用StringBuffer不是很好么动动贵手帮做做看?
      

  6.   

    sorry,开始没看懂,以为只是获取String的一部分。
    这和一个典型的数据分页技术很想像嘛
    对 hui_hui_lin(慧慧) 作一点小修改public String[] str_wrap(String str,int width)
      {
        int length=str.length();
        int count=(length-1)/width + 1;   
        String[] array=new String[count];
        for(int i=0;i<count;i++)
        {
          int beginIndex=i*width;
          int endIndex=(i+1)*width;
          if(endIndex>length)
            endIndex=length;
          array[i]=str.substring(beginIndex,endIndex);
        }
        return array;
      }