java统计一个子串在整串中出现的次数
时间: 2024-10-14 11:12:11 浏览: 75
在 Java 中,你可以使用 `String` 类提供的内置方法 `indexOf()` 或者更高效一些的 `split()` 和 `length` 方法来统计子串在一个字符串中出现的次数。这里有两个例子:
**方法一:使用 `indexOf()` 循环计数**
```java
public int countSubstring(String str, String subStr) {
int count = 0;
int index = -1;
while ((index = str.indexOf(subStr, index + 1)) != -1) {
count++;
}
return count;
}
```
这个方法会从字符串 `str` 的起始位置开始查找子串 `subStr`,如果找到就增加计数,并更新搜索的起始位置。
**方法二:使用正则表达式和 `split()`**
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public int countSubstring(String str, String subStr) {
Pattern pattern = Pattern.compile(subStr);
Matcher matcher = pattern.matcher(str);
int count = matcher.groupCount(); // 默认匹配所有,所以返回的是组的数量,也就是子串出现的次数
return count;
}
```
这种方法利用了正则表达式的 `split()` 函数,它可以按照子串分割字符串并返回结果数组,然后我们可以直接获取数组长度作为子串出现的次数。
阅读全文