Contents
【Java】startsWith ・endsWith で大文字小文字区別せずに判定する方法
Javaで文字列が調べたい文字列で始まっているかどうか判定するメソッドとして、startsWithメソッド、文字列が調べたい文字列で終わっているかどうか判定するメソッドとしてendsWithメソッドがあります。
String str = "test"; System.out.println(str.startsWith("te")); System.out.println(str.startsWith("Te")); System.out.println(str.endsWith("st")); System.out.println(str.endsWith("ST")); // 実行結果 true false true false
startsWithメソッド・endsWithメソッドを利用することで、「調べたい文字列で始まっているかどうか・終わっているかどうか」を調べることができますが、大文字・小文字を区別して調べています。
大文字・小文字を区別せずに判定するには、調査対象文字列を大文字または小文字に変換かけてあげることにより判定できます。
toUpperCase()またはtoLowerCase()にて大文字・小文字いずれかに変換後startsWith・endsWithを利用する
toUpperCase()またはtoLowerCase()を利用することで、文字列を大文字または小文字に統一できます。
String str = "Test"; System.out.println(str.toUpperCase()); System.out.println(str.toLowerCase()); // 実行結果 TEST test
大文字・小文字混在の”Test”がtoUpperCase()およびtoLowerCase()を利用することでTEST、testにそれぞれ変換できることが確認できました。
String str = "Test"; System.out.println(str.toUpperCase().startsWith("TE")); System.out.println(str); // 実行結果 true Test
大文字・小文字区別せずに調査する場合は一度変換処理をかけてやればよいです。
String型は不変のオブジェクトのため、str = str.toUpperCase();などで値を再代入しない限り値の変更は反映されないため、元の文字列は保持できます。
コメントを残す