(String) 給定一個(gè)字符串,判斷該字符串張是否包含某個(gè)字串贪嫂。
如果包含寺庄,求出字串的所有出現(xiàn)位置。
如:"abcd23abc34bcd"中,"bc"字串的出現(xiàn)位置為:1,7,11.字符串和字串均由用戶輸入
public class Demo13 {
public static void main(String[] args) {
System.out.println("請(qǐng)輸入原始字符串:");
String string = new Scanner(System.in).next();
// 輸入字符串
System.out.println("請(qǐng)輸入需要比較的字符串:");
String str1 = new Scanner(System.in).next();
stringMethod(string,str1);
stringMethodTwo(string,str1);
}
// 方法一
private static void stringMethod(String string,String str1) {
// 示例字符串
int d = - 1;
String str="";
str1 = str1.trim();
if(string.indexOf(str1)==-1) {
System.out.println("不存在相同字符串");
}else {
for (int i = 0; i < string.length(); i++) {
if(string.lastIndexOf(str1) == string.indexOf(str1,d)) {
break;
} else {
d = string.indexOf(str1,d+1) ;
str += d + ",";
}
}
}
System.out.println(str.replaceAll(",$",""));
}
// 方法二
private static String stringMethodTwo(String a,String b) {
StringBuffer sb = new StringBuffer();
int c = -1;
for(int y=0; y<a.length(); y++)
{
c = a.indexOf(b,c+1);
if(c ==-1)
{
break;
}else{
sb.append(c+" ");
}
}
return sb.toString();
}
}