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 Matcherjava.util.regex软件包里的两个类

1 Pattern类的作用在于编译正则表达式后创建一个匹配模式.

2 Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配

3 Pattern complie(String regex) 

由于Pattern的构造函数是私有的,不可以直接创建,所以通过静态方法compile(String regex)方法来创建,将给定的正则表达式编译并赋予给Pattern

  1. 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);

}