统计一段长字符串中某字符串的出现次数

  • 截取字符串统计字符串出现次数
  • 通过替换字符串,统计字符串出现次数
  • 通过正则表达式,统计字符串出现次数
package constxiong.interview;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 统计一段长字符串中某字符串的出现次数 * @author ConstXiong * @date 2019-11-13 11:01:22 */public class TestCountWordTimesInText {public static void main(String[] args) {String text = "统计一CX段长CX字符串中某字符串的出C现X次cx数";String word = "CX";System.out.println(countWordTimesByCutString(text, word));System.out.println(countWordTimesByReplace(text, word));System.out.println(countWordTimesByRegex(text, word));//正则匹配,需要注通配符的使用对结果的影响}/** * 截取字符串统计字符串出现次数 * @param text * @param word * @return */public static int countWordTimesByCutString(String text, String word) {int times = 0;if (!isEmpty(text) && !isEmpty(word)) {String subText = text;int index = -1;int wordLength = word.length();while (subText.length() >= wordLength && (index = subText.indexOf(word)) > -1) {subText = subText.substring(index + wordLength);times++;}}return times;}/** * 通过替换字符串,统计字符串出现次数 * @param text * @param word * @return */public static int countWordTimesByReplace(String text, String word) {int times = 0;if (!isEmpty(text) && !isEmpty(word)) {times = (text.length() - text.replace(word, "").length()) / word.length();}return times;}/** * 通过正则表达式,统计字符串出现次数 * @param text * @param word * @return */public static int countWordTimesByRegex(String text, String word) {int times = 0;if (!isEmpty(text) && !isEmpty(word)) {Pattern p = Pattern.compile(word);Matcher m = p.matcher(text);while (m.find()) {times++;}}return times;}/** * 字符串是否为空 * @param str * @return */private static boolean isEmpty(String str) {return str == null || str.length() == 0;}}

给TA打赏
共{{data.count}}人
人已打赏
Java

什么是复杂度?为什么要进行复杂度分析?

2020-7-31 3:18:20

Java

什么是时间复杂度?什么是空间复杂度?

2020-7-31 3:21:40

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索