字符串中筛选出数字

两种比较常用的方法,一个是利用数字生成的Ascii码,还有就是正则表达式的使用,个人感觉正则表达式比较方便。

package test;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StrSub {
    public static void main(String[] args) {
//        String str="shdfj3h434343hjhjhgfg";
//        str.trim();
//        String str1=null;
//        if(str!=null &&!"".equals(str)){
//            for(int i=0;i //                if(str.charAt(i)>=48 && str.charAt(i)<=57){
//                    str1+=str.charAt(i);
//                }
//            }
//        }
//    System.out.println(str1); //前面会生成一个null这个方法只能吧数字提取到一起
    

    String a="lhj34kljkh9976hcvm";
    List list=new ArrayList();
    Pattern p=Pattern.compile("[^0-9]");
    Matcher m=p.matcher(a);
    String result=m.replaceAll("");     //只保留了原字符串中匹配正则部分的  需要替换为新的字符的部分,如上例中("吱吱20只" replaceall("-"))的  --20- 
    for(int i=0;i         list.add(result.substring(i,i+1));
    }
    System.out.println(list);
}
}
 

你可能感兴趣的:(字符串中筛选出数字)