使用下面两个字符串,,再不拆分字符串的情况下,轻编写一个程序,只留下数字,让最后的运行结果为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);