java字符串比较获取字符串出现次数的示例


在Java中,比较字符串并获取一个特定字符串在另一个字符串中出现的次数,可以通过遍历和计数的方式来实现。以下是一个简单的示例代码,展示了如何完成这个任务:


public class StringOccurrenceExample {

    public static void main(String[] args) {
        String text = "hello world, hello everyone, hello again!";
        String searchString = "hello";

        int occurrences = countOccurrences(text, searchString);
        System.out.println(searchString + " appears " + occurrences + " times in the text.");
    }

    /**
     * 计算一个字符串在另一个字符串中出现的次数。
     *
     * @param text        被搜索的文本
     * @param searchString 需要查找的字符串
     * @return 出现次数
     */
    public static int countOccurrences(String text, String searchString) {
        if (text == null || searchString == null || searchString.isEmpty()) {
            return 0;
        }

        int count = 0;
        int index = 0;

        while ((index = text.indexOf(searchString, index)) != -1) {
            count++;
            index += searchString.length(); // 移动到下一个可能的匹配位置
        }

        return count;
    }
}

这个示例中,`countOccurrences` 方法接收两个字符串参数:`text`(被搜索的文本)和`searchString`(需要查找的字符串)。方法内部,通过一个`while`循环和`String`类的`indexOf`方法来查找`searchString`在`text`中的位置。每次找到匹配后,计数器`count`递增,并将`index`移动到当前找到的匹配字符串之后的位置,以确保下一次查找不会重复计数。如果`indexOf`方法返回`-1`,表示没有找到更多的匹配项,循环结束。最后,方法返回匹配的总次数。