Java入门题-查找一个字符串中,所有想查找短字符串的起始位置

发布时间 2023-08-08 15:35:07作者: Lee597

问题:就是长短两串字符串,从长字符串中查找所有短字符串在长字符串中的位置

方法:用截取方式来规避已经查找过的内容,重复遍历来确定位置

代码: 需要引用 import java.util.Scanner;

 

Scanner s = new Scanner(System.in); // 新定义一个Scanner
String S = s.next(); // 用于用户输入第一个完整字符串
String SS = s.next(); // 用于用户输入查找的字符串
if (S.contains(SS)) { // 用于判断是否有相同内容可以查找
int extra_str = 0; // 用于补充额外截取的长度
while (true) { // 用于循环查找所有内容
if (S.indexOf(SS) == -1) { // 用于判断是否还有可查找的空间
break; // 用于跳出查找循环
}
System.out.println(extra_str + S.indexOf(SS)); // 用于显示第几个字符开始有相同字符内容
S = S.substring(S.indexOf(SS) + SS.length()); // 用于截取已经查到的内容
extra_str += SS.length(); // 累加用于保持长度不变,不受截取影响
}
}