有一个数组String[] s = {12,345,6789,0};需求是数组元素中长度大于2的需要再分割一下,使元素的最大长度保持为2
所以需要打印如下内容:12,34,5,67,89,0
请问这个需求怎么实现,谢谢大家!!!

解决方案 »

  1.   

    用String里面的split方法进行切割,,
      

  2.   

    用String里面的split方法进行切割,,
      

  3.   

    String str="";
    for(String _s:s){
    str+=_s+",";
    }
    str=str.replaceAll("([0-9]{2})(?=[0-9])", "$1,");
    s=str.split(",");
      

  4.   

    循环递归就好: public static void main(String[] args) {
    String[] string = {"12","345","6789","0"};
    for(String s : string){
    substring(s);
    }
    }

    public static void substring(String s){
    String printString = null;
    if(s.length() > 2){
    printString = s.substring(0, 2);
    System.out.println(printString);
    substring(s.substring(2));
    }else{
    System.out.println(s);
    }
    }
      

  5.   


    不是仅仅用split就可以实现的,需要一些逻辑处理吧
      

  6.   

    可以解释一下这一行代码的意思吗?
    str=str.replaceAll("([0-9]{2})(?=[0-9])", "$1,");
    不知道这一行具体是什么意思??谢谢哦
      

  7.   

    (?=X) X,通过零宽度的正 lookahead 这个名字很挫
    在特殊构造(非捕获)那段