
统计一段长字符串中某字符串的出现次数
发布日期:2021-05-15 17:37:26
浏览次数:12
分类:精选文章
本文共 1504 字,大约阅读时间需要 5 分钟。
Java面试题:统计字符串出现次数的三种方法
在Java开发过程中,统计一段文本中某字符串的出现次数是一个常见需求。以下是三种常用的实现方法。
方法一:截取字符串统计
这种方法通过不断截取字符串,逐步统计目标字符串的出现次数。具体实现如下:
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;}
方法二:替换字符串统计
这种方法通过字符串替换的方式,计算出字符串的出现次数。具体实现如下:
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;}
方法三:正则表达式统计
这种方法利用Java中的正则表达式功能,通过Pattern和Matcher类来统计字符串的出现次数。具体实现如下:
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;}
Java面试题推荐
以下是几个适合Java面试的题目,每个题目都附带解决方案:
确定字符串重复次数
给定一段文本和一个目标字符串,编写一个方法统计目标字符串在文本中的重复次数。字符串脱敏处理
对于一个敏感字符串,通过替换特定字符生成脱敏版本。文本清洗
去除文本中的特殊字符和空格,使文本更加规范化。URL格式验证
验证URL是否符合指定格式。日期格式转换
将指定日期格式转换为目标格式。合并字符串
将多个字符串合并为一个,去除重复的部分。字符串逆序
将一个字符串反转顺序。字符串分割
将字符串按特定规则分割。字符串比较
比较两个字符串的差异程度。字符串拼接
将多个字符串拼接成一个。以上问题都有相应的解决方案,供您参考。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月17日 09时40分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
2019-03-06
CoreCLR源码探索(八) JIT的工作原理(详解篇)
2019-03-06
flume使用中的一些常见错误解决办法 (地址已经使用)
2019-03-07
andriod 开发错误记录
2019-03-07
C语言编译错误列表
2019-03-07
看明白这两种情况,才敢说自己懂跨链! | 喵懂区块链24期
2019-03-07
张一鸣:创业7年,我经历的5件事
2019-03-07
《web安全入门》(四)前端开发基础Javascript
2019-03-07
python中列表 元组 字典 集合的区别
2019-03-07
python struct 官方文档
2019-03-07
Android DEX加固方案与原理
2019-03-07
Android Retrofit2.0 上传单张图片和多张图片
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07
Leetcode第557题---翻转字符串中的单词
2019-03-07
Problem G. The Stones Game【取石子博弈 & 思维】
2019-03-07
Unable to execute dex: Multiple dex files
2019-03-07
Java多线程
2019-03-07
Unity监听日记
2019-03-07