import java.util.regex.Pattern; import java.util.regex.Matcher; public class RegexTest { public static void main(String args[]){ String str = "abcdfdfsabcdfdsf abc fdfdabcabc"; //1. 用這則表達式處理, 不過好像一點都不省事.. Pattern p = Pattern.compile("abc",Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(str); int count = 0; while(m.find()){ count ++; } System.out.println("ABC的個數 : " + count); //2. 用普通方法來做,比較省事 String [] ary = ("," + str + ",").split("abc"); System.out.println("ABC的個數 : " + (ary.length - 1)); } } 我覺得用split方法,以"abc"做分隔符將字串拆分成數組,這樣比較簡單.不過上面的代碼(第二種方法)只能判斷小寫"abc"的個數, 如果你還需要將"ABC"或者"aBc"或者"abC"這樣的字串都找出來, 只需要將第二種方法的代碼修改成下面這樣的就可以了: String [] ary = ("," + str.toLowerCase() + ",").split("abc"); System.out.println("ABC的個數 : " + (ary.length - 1));
用java 正則表達式 計算一個字符串中某個子串的個數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.