面试题,写程序,字符串截取问题

使用下面两个字符串,,再不拆分字符串的情况下,轻编写一个程序,只留下数字,让最后的运行结果为1330

 String a="ab9m45p"
     String b="3.8yuqi5"

提取数字很简单,但我实在是没看出那个1330是怎么来的

    public static int getInt(String s){
    int a=0;
    String ss="";
    for(int i=0;i<s.length();i++){
        switch (s.substring(i,i+1)){
        case "0":
        case "1":
        case "2":
        case "3":
        case "4":
        case "5":
        case "6":
        case "7":
        case "8":
        case "9":ss+=s.substring(i,i+1);
        default:break;
        }
    }
    try{
        a=Integer.parseInt(ss);
    }
    catch(NumberFormatException e){
        System.out.println("当前字符串不存在数字");
    }
    return a;
}

public static void main(String args[]) {
    String a="abmp0";
    String b="3.8yuqi5";
    System.out.println(getInt(a)+getInt(b));
}

String str = "ab9m45p";
Pattern pattern = Pattern.compile("\d");
Matcher matcher = pattern.matcher(str);
StringBuffer buffer = new StringBuffer();
while (matcher.find()) {
buffer.append(matcher.group());
}
System.out.println(buffer.toString());


/**
* 正则表达式提取数字
* @param text
* @return
*/
public static Integer getNum(String text){
String regex = "[^0-9]";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(text);
String result = m.replaceAll("").toString();
System.out.println(result);
if("".equals(result)){
return 0;
}else{
return Integer.parseInt(result);
}

}
//输出结果
public static void main(String[] args) {
    System.out.println(getNum("ab9m45p")+getNum("3.8yuqi5"));
}
        String a="ab9m45p";
        String b="3.8yuqi5";
        int inta = Integer.valueOf(a.replaceAll("[^0-9]", "")).intValue();
        int intb = Integer.valueOf(b.replaceAll("[^0-9]", "")).intValue();
        System.out.println(inta + intb);