5101030027开始你们去11103456中国100100100100099
5101030027开始你11103456中国学者人100100100100098假设在一个文本里面有这样的记录,数字的位数不变,分别是10,8,15位,就是文字的位数要变,怎么把一行提取在一个STRING数组里面分成5段.
例如:String str[]={"5101030027","开始你们去","11103456","中国","100100100100099"};谢谢大家了

解决方案 »

  1.   

    String str = "5101030027开始你们去11103456中国100100100100099";
            String reg = "^(\\d{10})(\\W+?)(\\d{8})(\\W+?)(\\d{15})$";        Pattern p = Pattern.compile(reg);        Matcher m = p.matcher(str);        if (m.find()) {
                for(int i=0;i<m.groupCount();i++)
                System.out.println( m.group(i+1)); 
            }