Java で指定した範囲の文字列を切り出すときは、String クラスの substring() メソッドを使用します。ここでは、substring() の使い方について説明します。
substring() の使い方
substring() の構文は以下の通りです。
1 |
対象の文字列.substring(開始位置, 終了位置) |
substring() は第1引数に切り出しを始める開始位置を指定し、第2引数には切り出しの終了位置を指定します。また、戻り値として開始位置から終了位置-1の範囲にある文字列を返します。開始位置や終了位置は 0 から数えられます。
もし文字列の範囲を超えた値を引数に指定した場合や、マイナスの値を指定した場合はエラーとなるので注意してください。
指定した範囲の文字列を切り出す
以下は、指定した範囲の文字列を切り出すサンプルです。
1 2 3 |
String str1 = "abcdefghijk"; String str2 = str1.substring(3, 6); System.out.println(str2); // def |
上のプログラムでは、0から数えて3番目から5番目の文字列を切り出すので、「def」が表示されます。
指定位置から末尾まで文字列を切り出す
指定した位置から末尾までの文字列を切り出したいときは、 substring() の第1引数にのみ値を指定します。
1 |
対象の文字列.substring(開始位置) |
以下は、指定した位置から末尾まで文字列を切り出すサンプルです。
1 2 3 |
String str1 = "abcdefghijk"; String str2 = str1.substring(3); System.out.println(str2); // defghijk |
上のプログラムでは、0から数えて3番目から末尾まで文字列を切り出すので、「defghijk」が表示されます。
後方から指定文字数分の文字列を切り出す
後方から指定した文字数分だけ切り出す場合は String.length() を使えば実現できます。
1 |
対象文字列.substring(対象文字列.length() - 文字数) |
以下は、後方から指定した文字数分だけ切り出すサンプルです。
1 2 3 |
String str1 = "abcdefghijk"; String str2 = str1.substring(str1.length() - 3); System.out.println(str2); // ijk |
上のプログラムでは、後方から3文字分の文字列を切り出すので、「ijk」が表示されます。