java,统计一个字符串在另一个字符串中出现次数
时间: 2024-12-31 17:06:46 浏览: 9
在Java中,你可以使用`indexOf()`方法或`split()`方法结合循环来统计一个字符串(目标字符串)在另一个字符串(主字符串)中出现的次数。以下是两种常见方法的示例:
**方法一:indexOf()循环计数**
```java
String mainString = "这是一个测试字符串,它包含了一些重复的部分";
String targetString = "部分";
int count = 0;
int index = mainString.indexOf(targetString);
while (index != -1) {
count++;
index = mainString.indexOf(targetString, index + targetString.length());
}
System.out.println("目标字符串在主字符串中出现了 " + count + " 次。");
```
**方法二:split()方法**
如果你的目标字符串是以特定字符分隔的,可以先使用正则表达式将主字符串分割成数组,然后计算数组长度减去1(因为第一个元素通常是整个主字符串,而不是目标字符串)。例如,假设目标字符串由逗号分隔:
```java
String mainString = "苹果,香蕉,苹果,橙子,苹果";
String targetString = "苹果";
mainString = mainString.split(",");
int count = Arrays.stream(mainString)
.filter(s -> s.equals(targetString))
.count();
System.out.println("目标字符串在主字符串中出现了 " + count + " 次。");
```
在这两种方法中,`indexOf(-1)`表示找不到目标字符串。
阅读全文