str1とstr2という2つのStringがあります。大文字小文字を区別せずに、str2がstr1` の中に含まれているかどうかを調べるにはどうしたらよいでしょうか。
と
という2つの
があります。大文字小文字を区別せずに、
が
str1.toLowerCase().contains(str2.toLowerCase())
toLowerCase()`メソッドを使うことができます。
public boolean contains( String haystack, String needle ) { haystack = haystack == null ? "" : haystack; needle = needle == null ? "" : needle; // Works, but is not the best. //return haystack.toLowerCase().indexOf( needle.toLowerCase() ) > -1 return haystack.toLowerCase().contains( needle.toLowerCase() ) }
を使って呼び出してみましょう。
if( contains( str1, str2 ) ) { System.out.println( "Found " + str2 + " within " + str1 + "." ); }
独自のメソッドを作成することで、再利用できることに注目してください。また、誰かが「indexOf」ではなく「contains」を使うべきだと指摘してきたときにも、変更するコードは1行で済みます。
Stringクラスに含まれるcontainsメソッドとtoUpperメソッドを組み合わせて使用します。 その例を以下に示します。
toUpper
String string1 = "AAABBBCCC"; String string2 = "DDDEEEFFF"; String searchForThis = "AABB"; System.out.println("Search1="+string1.toUpperCase().contains(searchForThis.toUpperCase())); System.out.println("Search2="+string2.toUpperCase().contains(searchForThis.toUpperCase()));
これは次のように返します。 検索1=true 検索2=false
toLowerCase()`メソッドを使うことができます。
を使って呼び出してみましょう。
独自のメソッドを作成することで、再利用できることに注目してください。また、誰かが「indexOf」ではなく「contains」を使うべきだと指摘してきたときにも、変更するコードは1行で済みます。
Stringクラスに含まれるcontainsメソッドと
toUpper
メソッドを組み合わせて使用します。 その例を以下に示します。これは次のように返します。 検索1=true
検索2=false