HOME > Stringクラス(文字列を判定する)

Stringクラス(文字列を判定する)

Stringクラスには様々なメソッドが用意されています。
ここでは「文字列を判定する」という機能に絞って紹介します。

equals/equalsIgnoreCase 〜 文字列が同じかどうか判定する

文字列が同じかどうか比較したい時は、equalsメソッドを使用します。
文字列の判定に「==」を使うと文字列の比較ではなく、参照先の比較になってしまうのでダメです。

 equalsサンプル

//元データ
String str = "ABCDE";

//文字列が同じか比較する
str.equals("abcde");
→ false

str.equals("ABCDE");
→ true

大文字小文字を区別なく比較したい時は、equalsIgnoreCaseメソッドを使用します。

 equalsIgnoreCaseサンプル

//元データ
String str = "ABCDE";

//大文字小文字区別なく文字列が同じか比較する
str.equalsIgnoreCase("abcde");
→ true

str.equalsIgnoreCase("ABCDE");
→ true

startWith、endWith 〜 先頭や末尾が同じかどうか判定する

文字列の先頭や末尾が同じかどうか比較したい時は、startWith、endWithメソッドを使用します。

 startWith、endWithサンプル

//元データ
String str = "ABCDE";

//文字列の最後が同じか比較する
str.endsWith("DE");
→ true

//文字列の開始が同じか比較する
str.startsWith("ABC");
→ true

indexOf 〜 指定文字列が対象文字列中の何番目に出現するかどうかを返す

文字列中で指定した文字が最初に出現するインデックス番号を取得したい時は、indexOfメソッドを使用します。

 indexOfサンプル

//元データ
String str = "ABCABCABC";

//指定した文字列が最初に出現するインデックス番号を返す
str.indexOf("BC");
→ 1
str.indexOf("XYZ");
→ -1
※出現しない場合は、-1が返る

lastIndexOf 〜 指定文字列が対象文字列中の何番目に出現するかどうかを返す

文字列中で指定した文字が最後に出現するインデックス番号を取得したい時は、lastIndexOfメソッドを使用します。

 lastIndexOfサンプル

//元データ
String str = "ABCABCABC";

//指定した文字列が最後に出現するインデックス番号を返す
str.lastIndexOf("BC");
→ 7
str.indexOf("XYZ");
→ -1
※出現しない場合は、-1が返る

isEmpty 〜 文字列が空かどうかを判定する

文字列が空かどうか(文字数がゼロかどうか)判定したい時は、isEmptyメソッドを使用します。

 isEmptyサンプル

//元データ
String str = ""

//空かどうか判定する
str.isEmpty();
→ true

文字列カテゴリ