substring
public String substring(int beginIndex)返回一个新的字符串,
它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,
直到此字符串末尾。
示例:  "unhappy".substring(2) returns "happy"
 "Harbison".substring(3) returns "bison"
 "emptiness".substring(9) returns "" (an empty string)
 
参数:
beginIndex - 起始索引(包括)。 
返回:
指定的子字符串。 
抛出: 
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。 多截两次吧

解决方案 »

  1.   

    先用String中的indexOf方法获取你要截取字段的索引,然后用subString方法截取
      

  2.   


            String shuju = "阿森纳----盘路走势图 17胜 5平 4负 积分:56 排名: 2";
            Pattern p = Pattern.compile("(?<=积分[::])\\s*\\d+");
            Matcher m = p.matcher(shuju);
            if (m.find()) {
                System.out.println(m.group().trim());
            }
            p = Pattern.compile("(?<=排名[::])\\s*\\d+");
            m = p.matcher(shuju);
            if (m.find()) {
                System.out.println(m.group().trim());
            }
      

  3.   

    public static void main(String[] args){
    String str = "阿森纳----盘路走势图 17胜 5平 4负 积分: 56 排名: 2";
    String[] strs = str.split(":");
    String substr = strs[1].trim();
    String pm = strs[2].trim();
    String jf = "";
    for (int i = 0; i < substr.length(); i++) {
    if(substr.charAt(i)>=48 && substr.charAt(i)<=57)
    jf += substr.charAt(i);
    }
    System.out.println(jf);
    System.out.println(pm);
    }
      

  4.   

    把5楼的正则表达式优化一下
    .*积分:\s*(\d+)\s*排名: (\d+)可以从group中直接取出两个数字m.group(1),m.group(2)
      

  5.   

    补充楼上
    [code =java]
    String shuju="阿森纳----盘路走势图 17胜 5平 4负 积分:56 排名: 2";
    Pattern p = Pattern.compile(".*积分:(\\d+).*排名:\\s(\\d+)");
    Matcher m = p.matcher(shuju);
    if(m.matches()){
    System.out.println(m.group(1));
    System.out.println(m.group(2));
    }
    [/code]
      

  6.   

    String shuju="阿森纳----盘路走势图 17胜 5平 4负 积分:56 排名: 2";
    Pattern p = Pattern.compile(".*积分:(\\d+).*排名:\\s(\\d+)");
    Matcher m = p.matcher(shuju);
    if(m.matches()){
    System.out.println(m.group(1));
    System.out.println(m.group(2));
    }