java找出字符串中的数字
随便给你一个含有数字的字符串,比如:
String s="love23next234csdn3423javaeye";
那我们如何把其中的数字提取出来呢?
这里我给大家提供两种方法,第一是正则表达式,还有就是String类提供的方法。
1 String类提供的方法:(判断字符串中每个字符的ASCII码是否在48到57中)
import java.util.*;
public class get_StringNum {
public static void main(String[] args) {
String str = "love23next234csdn3423javaeye";
str = str.trim();
String str2 = "";
if (str != null && !"".equals(str)) {
for (int i = 0; i < str.length(); i++ ) {
if (str.charAt(i) >= 48 && str.charAt(i) <= 57) {
str2 += str.charAt(i);
}
}
}
System.out.println(str2);
}
}
output:
232343423
2 正则表达式(将所有非数字的字符用””空代替就只剩下数字了)
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class get_StringNum {
public static void main(String[] args) {
String a="love23next234csdn3423javaeye";
String regEx="[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(a);
System.out.println( m.replaceAll("").trim());
}
}
output:
232343423
Pattern ,Matcher是java.util.regex软件包里的两个类,具体用法大家可以查阅一下api。