java从字符串中提取数字
1 String类提供的方法:
/*
 * @Author liuhaidong
 * @Description String类提供的方法:
 * @Date 20:02 2019/9/19 0019
 **/
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);
}   
2正则表达式
/*
 * @Author liuhaidong 
 * @Description 正则表达式
 * @Date 20:03 2019/9/19 0019
 **/
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());
}  Pattern ,Matcher是java.util.regex软件包里的两个类
1 Pattern类的作用在于编译正则表达式后创建一个匹配模式.
2 Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配
3 Pattern complie(String regex)
由于Pattern的构造函数是私有的,不可以直接创建,所以通过静态方法compile(String regex)方法来创建,将给定的正则表达式编译并赋予给Pattern类
- String pattern() 返回正则表达式的字符串形式,其实就是返回Pattern.complile(String regex)的regex参数
 
String regex = "\\?|\\*";  Pattern pattern = Pattern.compile(regex);  String patternStr = pattern.pattern();//返回\?\*
replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串  3 集合类库
/*
 * @Author liuhaidong
 * @Description集合类库
 * @Date 20:18 2019/9/19 0019
 **/
public static void main(String[] args) {
    String a="love23next234csdn3423javaeye";
    List<String> digitList = new ArrayList<>();
    Pattern p = Pattern.compile("[^0-9]");
    Matcher m = p.matcher(a);
    String result = m.replaceAll("");
    for (int i = 0; i < result.length(); i++) {
        digitList.add(result.substring(i, i+1));
    }
    System.out.println(digitList);
}  

京公网安备 11010502036488号