如何在java中识别另一个字符串中给定字符串的索引



给定字符串str1-"happy sunday"和字符串str2-"sun",如何返回一个字符串,将str1中的所有字符替换为'X',除了子字符串s2的出现?

因此,在这种情况下,输出返回值应该是字符串-"XXXXXXsunXXX"。

注意,我并没有试图打印这个字符串,而是将它返回到一个方法。该方法有两个字符串参数str1和str2,并且有一个字符串返回值,在本例中为-XXXXXXXXsunXXX。

这就是我到目前为止所拥有的。。问题是我不知道如何识别str1中出现的索引str2!一旦我知道了子字符串在哪个索引处开始和结束,我就可以将X符号与子字符串连接起来。

public String blah(String str1, String str2) 
{
int length = str1.length()-1;
String z = "";
if(!str1.contains(str2))
{
for(int i = 0; i <= length; i++)
{
z+= 'X';
}
return z;
}
else
{
...
}
}

您可以使用str1.indexOf(str2);查找str1中str2的第一个出现。返回值是str1的索引,如果找不到str2,则返回值为-1。然后使用str1.indexOf(str2, lastIndex+str2.length)查找第二次出现,依此类推。

最新更新