十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关Java如何统计一个字符串在另外一个字符串出现次数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
公司主营业务:网站制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出成县免费做网站回馈大家。
具体如下:
Java统计一个字符串在另外一个字符串出现次数
代码如下:
package me.chunsheng.javatest; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by wei_spring on 16/10/11. ** 统计一个字符串在另外一个字符串出现的次数 * 正则匹配的方法,前提字符串不是特殊字符串 * eg:finder("adadadadauuada", "ada") 这样会统计不准确的. * 另外一个遍历的解决了上面那种情况. * 两者时间如下(纳秒为单位): 正则明显耗时,正则本就不是统计用的!!! * finder:3 * finderTime:1579549 * getCount:4 * getCountTime:34506 */ public class SubStringCount { public static void main(String[] args) { System.out.println("创新互联测试结果:"); long current1 = System.nanoTime(); System.out.println("finder:" + finder("adadadadauuada", "ada")); System.out.println("finderTime:" + (System.nanoTime() - current1)); long current2 = System.nanoTime(); System.out.println("getCount:" + getCount("adadadadauuada", "ada")); System.out.println("getCountTime:" + (System.nanoTime() - current2)); } public static int getCount(String source, String sub) { int count = 0; int length = source.length() - sub.length(); for (int i = 0; i < length; i++) { String sourceBak = source.substring(i, i + sub.length()); int index = sourceBak.indexOf(sub); if (index != -1) { count++; } } return count; } public static int finder(String source, String regexStr) { String regex = "[a-zA-Z]+"; if (regexStr != null && !regexStr.equals("")) { regex = regexStr; } Pattern expression = Pattern.compile(regex); Matcher matcher = expression.matcher(source); int n = 0; while (matcher.find()) { n++; } return n; } }
运行结果:
关于“Java如何统计一个字符串在另外一个字符串出现次数”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。