>> Java入門トップに戻る

Stringクラス 文字列の検索 indexOf

Javaで文字列内の文字、文字列を検索する方法について説明します。

文字列を検索するには、Stringクラスの「indexOfメソッド」を使います。

indexOfメソッド」では「文字」か「文字列」の検索が出来ます。
引数に文字列を指定する場合はダブルクオテーションで囲って直接文字列を指定するか、String型の変数を指定してください。
1文字だけの文字を引数に指定する場合はシングルクォテーションで囲んでもいいです。

このメソッドの戻り値は検索文字が最初に見つかった位置の「インデックス」を返します。
見つからなかった場合は「-1」を返します。
package test7;

public class Moji{
	
	public static void main(String args[]){
		
		String base = "AAABBBBCDDDFFF";
		String base2 = "あいうえおわかきくけこ";
		
		//文字を検索(見つからない場合は-1を返す)
		if(base.indexOf('C')!=-1){
			
			System.out.println("C という文字が見つかりました");
			
		}else{
			System.out.println("C という文字が見つかりませんでした。");
		}
		
		//文字列を検索(見つからない場合は-1を返す)
		if(base.indexOf("AB")!=-1){
			
			System.out.println("AB という文字列が見つかりました");
			
		}else{
			System.out.println("AB という文字列が見つかりませんでした。");
		}
		
		//日本語文字を検索(見つからない場合は-1を返す)
		if(base2.indexOf('わ')!=-1){
			System.out.println("わ という文字列が見つかりました");
			
		}else{
			System.out.println("わ という文字列が見つかりませんでした。");
		}
	}
	
}
上記のコードでは文字、文字列、日本語文字をそれぞれ検索しています。
戻り値が-1かどうかだけを判定して、指定した文字列が見つかったかどうかを表示しています。

検索文字が見つかれば最初に見つかった位置のインデックスを返すので、そのインデックスを他のメソッドで利用して文字列を取り出すなどの操作も行うことが出来るので覚えておきましょう。
その辺はまた別のページで説明します。


>> 【Stringクラス 文字列が空かチェック isEmpty】に進む
>> Java入門トップに戻る