输入两个字符串,如是s1=”abc”,s2=”s12abcdfab,jdabcacdfabcds”,使用substring 方法统计s1在s2中出现的位置和次数。
时间: 2024-09-21 08:10:56 浏览: 47
为了统计字符串s1在s2中出现的位置和次数,你可以先编写一个函数,使用`substring`方法来查找s1在s2中的每个匹配位置,然后计数。以下是Java代码示例:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "s12abcdfab,jdabcacdfabcds";
List<Integer> positions = findSubstringPositions(s1, s2);
int count = positions.size();
System.out.println("s1在s2中出现了" + count + "次,它们的位置是:");
for (int position : positions) {
System.out.println(position);
}
}
/**
* 查找给定字符串在另一个字符串中所有出现的位置
*/
public static List<Integer> findSubstringPositions(String substring, String str) {
List<Integer> positions = new ArrayList<>();
int index = 0;
while ((index = str.indexOf(substring, index)) != -1) {
positions.add(index);
index += substring.length(); // 跳过已找到的子串,继续搜索下一个位置
}
return positions;
}
}
```
这段代码首先定义了一个辅助方法`findSubstringPositions`,它会返回一个包含所有匹配位置的列表。然后,在`main`方法中,我们计算出次数并打印出位置。
阅读全文