Java:文字列の後ろからn文字を切り出す方法

こんにちは、さるまりんです。

Javaの小ネタです。

Javaで文字列から部分文字列を切り出すメソッドはsubstring()です。

このメソッドの呼び出し方法は2つあります。

1. 開始位置と終了位置を指定して、その間の文字列を取得する

[文字列].substring([開始位置], [終了位置])

これで[開始位置]のインデックスから[終了位置]-1のインデックスまでの文字列が切り出されます。

例えば

"abcde".substring(2,4)

の結果は"cd"です。

2. 開始位置だけを指定し、以降の文字列を取得する。

[文字列].substring([開始位置])

これで[開始位置]のインデックスを含む、それ以降の文字列が切り出されます。

例えば

"abcde".substring(3)

の結果は"de"です。

では、今回のトピックです。

後ろからn文字を切り出すにはどうしたらいいでしょうか?

[開始位置]を計算し、2の呼び出し方で結果を取得します。

[文字列].substring([文字列].length() - [文字数])

次のコードは文字列”abcde”の後ろ3文字を取得したい場合です。

String str = "abcde";
System.out.println(str.substring(str.length() - 3));

これで表示される文字列は”cde”です。

length()メソッドとの組み合わせで実現できるので覚えていたいと思います。

読んでくださってありがとうございます。

それではまた!