统计一段长字符串中某字符串的出现次数
发布日期: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秒