比如  String s = "7:1,2:1,";
      怎样得到整型的7 2和1 1
      

解决方案 »

  1.   

    String[] rr = s.split("\\D*");
    for(String r:rr){int x = Integer.valueOf(r);}
      

  2.   

    ,分割成两组
    在用:分割 并转 int
    两组内部比较,取出大的放入一组,小的放一组
    这样就能得到楼主要的结果了。
      

  3.   

    1楼方法可行,还有就是用split方法
      

  4.   

    1l比2l的简洁一些,虽然都用的split
      

  5.   

    String s1 = "7:1,2:1,";
    String[] arr = s1.split(",");

    StringBuffer buf = new StringBuffer();
    StringBuffer buf1 = new StringBuffer();
    for(String sub : arr){
    String[] arrsub = sub.split(":"); 
    buf.append(arrsub[0] + " ");
    buf1.append(arrsub[1] + " ");
    }

    System.out.println(buf.toString());
    System.out.println(buf1.toString());
      

  6.   

    非常感谢大家的回答。 
    我的意思是:前面的是一组, :后面的是一组,我要分别获得7 2 和1 1
    还有就是这个String不止是这么长,可能7:1,2:1,3:2,3:1,或则更长
    1楼的好像要报错
      

  7.   

    1楼的基础上稍微改了下 String s = "7:1,2:1,3:2,3:1,";
    String[] rr = s.split("\\D+");
    for (String r : rr) {
    int x = Integer.valueOf(r);
    System.out.println(x);
    }