>> Java入門トップに戻る

Stringクラス 文字列の部分取得 substring

Javaで文字列からある部分の文字列を部分的に取得するには「substringメソッド」を使います。
substringメソッドは

第一引数に取得する部分の開始インデックス(この文字を含む)
第二引数に取得する部分の終了インデックス(この文字を含まない)※オプション

を指定します。
戻り値は指定したインデックスに応じた部分文字列です。

第二引数はオプションで指定しなかった場合は開始インデックスから文字列の最後まで取得します。
また、第二引数の終了インデックスの文字は取得されないことに注意してください。

Stringオブジェクトの「1文字目のインデックスは0」なので間違えないようにしてください。
package test7;

public class Moji{

	public static void main(String[] args){
		
		String test = "AAABBBCCC";
		
		String tmp="";
		
		//開始インデックス3を指定。つまりB以降の文字列取得
		tmp = test.substring(3);
		
		//表示
		System.out.println(tmp);
		
		//開始インデックスは3、終了インデックスに6を指定。つまりBBBを取得
		tmp = test.substring(3,6);
		
		
		//表示
		System.out.println(tmp);
	
	}
}
上記のコードで1つ目のsubstringメソッドでは開始インデックスに3を指定しています。
第二引数は指定してないので、インデックス3以降の文字を全て取得します。
なのでこちらは「BBBCCC」という文字列が表示されます。

2つ目のsubstringメソッドでは開始インデックスに3、終了インデックスに6を指定しています。
インデックス3は最初のBの位置で、インデックス6は最初のCの位置になります。
ですがsubstringメソッドは第二引数の終了インデックスを含まない部分までを取得するのでCの前の文字であるBまでを取得します。
ですので、こちらは「BBB」という文字列が表示されます。

このメソッドはindexOfメソッドで取得するインデックスを利用して使ったり、結構頻繁に使うので覚えておくと良いと思います。


>> 【Stringクラス 文字列の前後の空白除去 trim】に進む
>> Java入門トップに戻る