在Java中,用正则表达式"//D+"分割

比如将分割"{1,4},{0,6},{3,5},{5,7},{3,8},{5,9},{6,10},{8,11},{8,12},{2,13},{12,14}”字符串时,将得到的放到一个字符数组时为什么第一个是空?将"a8a8 9 2 3"分割时第一个又不是空,为什么呢?
不好意思,是“ \\D+”,我想分割成一个一个的数字,然后排序。但是不知道为什么会在分割之后转换成数字时出现异常。发现第一个字符数组为空

public static void main(String[] args) {
String str = "{1,4},{0,6},{3,5},{5,7},{3,8},{5,9},{6,10},{8,11},{8,12},{2,13},{12,14}";
String reg = "\\d+";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
ArrayList<Integer> list = new ArrayList<Integer>(40);
while(matcher.find()){
list.add(Integer.valueOf(matcher.group()));
}
list.trimToSize();
Collections.sort(list);
System.out.println(list);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-10
"{1,4},{0,6},{3,5},{5,7},{3,8},{5,9},{6,10},{8,11},{8,12},{2,13},{12,14}” 这个字符串你想分割成什么结果????
另外 “//d+” 应该写成“\\d+”
相似回答