Javaで文字列を切り出す方法!(substring)

Java Java

Javaで文字列を切り出す方法について書いています。
Javaで文字列を切り出すには、文字列からsubstringメソッドを呼び出して使うと良いです。

substringメソッドを使う

substringメソッドを使うことで、文字列を切り出すことができます。
例えば、下記のように使うことができます。

String text = "hello, world";
String result = text.substring(7);

System.out.println(result); // world

最初にtext変数に対して、文字列の「hello, world」を代入しました。
次の処理で、text変数からsubstringメソッドを呼び出しています。

これで、text変数に入っている文字列を切り出すことができます。
引数に渡しているのは、文字列の切り出しを開始する位置になります。

今回は「7」を渡しているので、文字先頭(h)を0番目から数えて、7番目の「w」から切り出し始めます。
切り出した文字列をresult変数に格納しました。

result変数を出力すると、結果は「world」となります。
文字列の7番目の位置から切り出し始めて、最後までの文字列が返ってきました。

切り出しの終わり位置を指定する

文字列の切り出し終わりの位置を指定したい場合には、substringメソッドの第2引数を使います。
例えば、下記のようにします。

String fruitText = "apple/grape/orange";
String fruit = fruitText.substring(6, 11);

System.out.println(fruit); // grape

最初にfruitText変数に対して、文字列の「apple/grape/orange」を代入しています。
その次の処理で、substringメソッドを使っていますが、先ほどと違って第2引数も使っています。

第1引数は開始位置で、第2引数は終了する位置です。
開始位置は切り出したい文字の始まり位置で、終了位置は切り出し終わる文字の次の位置を指定します。

今回は第1引数に「6」を指定しているので、開始位置は「g」になり
第2引数には「11」を指定しています、終了位置は「e」となります。

結果をfruit変数に格納して、出力すると「grape」となりました。
開始位置から終了位置までの文字列が切り取れました。

後ろから切り出す

substringメソッドにマイナス値を指定して、後ろから切り出すことはできません。
lengthメソッドを使って、文字列の長さから切り出したい文字分引くことで、後ろから切り出したい文字数を指定できます。

String fruitText = "apple/grape/orange";
String fruit = fruitText.substring(fruitText.length() - 6);

System.out.println(fruit); // orange

fruitText変数に対して、先ほとど同様に「apple/grape/orange」を代入しています。
次の処理で、substringメソッドに対して、文字列の長さから取得したい文字数を引いた値を渡しています。

結果、後ろから6文字の「orange」が取得できました。
このように、後ろから文字数を指定したように動作させることができます。

文字列の範囲を超えて指定したら?

文字列の範囲を超えた位置を指定すると、下記のようにエラー(StringIndexOutOfBoundsException)が発生します。

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 14

文字列の範囲を超えないように注意していきましょう。

substringメソッドの引数と戻り値

substringメソッドの引数と文字列をまとめます。

引数

引数は第1引数が必須で、第2引数がオプションでした。

引数 必須/オプション 説明
第1引数:開始位置 必須 text.substring(3) 切り出し始めたい文字の位置を指定する
第2引数:終了位置 オプション text.substring(3, 6) 切り出したい最後の文字の位置+1の場所を指定する

戻り値

切り出した文字列が返ってきます。

文字列を切り出す方法まとめ

今回はJavaで文字列を切り出す方法について書きました。
記事の内容をまとめると、下記のようになります。

・substringメソッドを使うことで、文字列を切り出すことができた。
・substringの第1引数には開始位置を指定した。
・substringの第2引数には終了位置(終了したい文字の位置+1)を指定した。
・substringメソッドでは切り出した後の文字列が返ってきた。

コメント

タイトルとURLをコピーしました