一、通过String的sacii码方式

public static String findNum(){
String str1="abd12er98df4";
String str2="";
str1=str1.trim();
if(""!=str1 && null!=str1){
for(int i=0;i<str1.length();i++){
if(str1.charAt(i)>47 && str1.charAt(i)<58){
str2+=str1.charAt(i);
}
}
}
return str2;
}
结果为
12984
二、通过正则表达式
public static String findNum2(){
String str1="abd12er98df4";
String regularExpression="[^0-9]";
//Pattern.compile函数来实现对指定字符串的截取
//Pattern Pattern.compile(String regex) regex 表示定义的规则
Pattern p=Pattern.compile(regularExpression);
//matcher()将整个目标字符串与正则表达式进行匹配,只有完全匹配才能返回true,否则false。
Matcher m= p.matcher(str1);
System.out.println();
//java.util.regex.Matcher.replaceAll(String replacement)
// 方法将替换与给定替换字符串的模式匹配的输入序列的每个子序列。
String s=m.replaceAll("").trim();
return s;
}
结果为
12984