日期:2014-05-20  浏览次数:20752 次

字符串分段处理的问题,高手进来拿分~
5101030027开始你们去11103456中国100100100100099
5101030027开始你11103456中国学者人100100100100098

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

谢谢大家了

------解决方案--------------------
不知道模式匹配行不?
------解决方案--------------------
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));
}