2017-10-30 10 views
0

文字列str1-「happy sunday」とString str2- "sun"を指定すると、str1のすべての文字を 'X'で置き換える文字列を、どのように返すことができますか?ただし、部分文字列s2の出現は例外です。Javaの別の文字列内の指定文字列のインデックスを特定するにはどうすればよいですか?

したがって、この場合の出力戻り値は、文字列 "XXXXXXsunXXX"である必要があります。

注記この文字列を印刷するのではなく、メソッドに戻します。このメソッドには、str1とstr2という2つの文字列パラメータがあり、この場合はXXXXXXsunXXXの文字列戻り値があります。

これは私が今までに持っているものです。問題は、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 
    { 
     ... 
    } 
} 
+0

これらはこの質問の重複ではありません。この質問は、文字だけでなく、保持する特定のパターンを探しています。 – Jason

答えて

0

あなたはSTR1にSTR2の最初の発生を見つけるためにstr1.indexOf(str2);を使用することができます。戻り値は、str1へのインデックスまたはstr2が見つからない場合は-1です。 次に、str1.indexOf(str2, lastIndex+str2.length)を使用して2番目のオカレンスなどを見つけます。

関連する問題