篩選字串中的數字
阿新 • • 發佈:2021-01-07
技術標籤: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