1. 程式人生 > 其它 >篩選字串中的數字

篩選字串中的數字

技術標籤:java演算法字串javaascii碼錶正則表示式面試演算法

一、通過String的sacii碼方式
二進位制 十進位制 十六進位制 圖形

public static String findNum(){
        String str1="abd12er98df4";
        String str2="";
        str1=str1.trim();
        if(""!=str1 && null!=str1){
            for(int i=0;i<str1.length();i++){
                if(str1.charAt(i)>47 && str1.charAt(i)<58){
                    str2+=str1.charAt(i);
                }
            }
        }
        return str2;
    }
結果為
12984

二、通過正則表示式
public static String findNum2(){
        String str1="abd12er98df4";
        String regularExpression="[^0-9]";
        //Pattern.compile函式來實現對指定字串的擷取
        //Pattern Pattern.compile(String regex) regex 表示定義的規則
        Pattern p=Pattern.compile(regularExpression);
        //matcher()將整個目標字串與正則表示式進行匹配,只有完全匹配才能返回true,否則false。
        Matcher m= p.matcher(str1);
        System.out.println();
        //java.util.regex.Matcher.replaceAll(String replacement)
        // 方法將替換與給定替換字串的模式匹配的輸入序列的每個子序列。
        String s=m.replaceAll("").trim();
        return s;
    }

結果為
12984