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 正则表达式 计算一个字符串中某个子串的个数
最新推荐文章于 2023-07-04 16:52:59 发布