文字列の切出し

アイキャチ画像
2023/01/29
2023/01/29
HZvvRGNM

Javaで文字列を切出しする方法をご紹介します。

substringメソッド

substringメソッドは、指定した位置で文字列を切り出すことができるメソッドです!

引数の指定が1つだけの場合は、対象の文字列を先頭から数えて何番目から切り出すか指定できます。

【使い方】
 対象文字列.substring(切り出し開始位置)

【戻り値】
 String型
引数の型説明
int切り出し開始位置

任意の場所から切り出す

String str = "hoge1,hoge2,hoge3,hoge4,hoge5";  
String subString = str.substring(12);
System.out.println(subString);

// コンソールの出力結果
hoge3,hoge4,hoge5

この時引数は文字列のインデックス番号を指定する必要があるので注意してください。

インデックス番号とは?

数を数える時、通常は1から順番に数えると思います。

チュンすけ

1,2,3,4,5...

ですがプログラムの世界では0から順番に数えるようになっています。

ペンタ

0,1,2,3,4...

この性質上インデックス番号を指定する際、スタートは『0』になります。

利用する際は間違えやすいので注意しましょう!

開始位置と終了位置を指定して切り出す

引数を2つ指定すると第1引数で開始位置の指定、第2引数で終了位置の指定をして切り出すことができます。

【使い方】
 対象文字列.substring(開始位置,終了位置)

【戻り値】
 String型
引数引数の型説明
第1引数int開始位置
第2引数int終了位置
String str = "hoge1,hoge2,hoge3,hoge4,hoge5";  
String subString = str.substring(6,11);
System.out.println(subString);

// コンソールの出力結果
hoge2

このようにフォーマットが固定で、文字列も固定であればsubstringメソッドの引数を調整して文字を切り出すことができます。

indexOfメソッドと組み合わせて切り出しをする

インデックス番号の抽出にindexOfメソッドを利用することで、ある特定の文字列を起点に文字列の切り出しをすることができます。

【使い方】
 対象文字列.indexOf("検索する文字列")

【戻り値】
 int型
引数の型説明
引数String検索する文字列

特定の文字列から切り出す

String str = "hoge1,hoge2,hoge3,hoge4,hoge5";
int start = str.indexOf("hoge2");
int end = str.length();

String subString = str.substring(start, end);
System.out.println(subString);

// コンソールの出力結果
hoge2,hoge3,hoge4,hoge5

特定の文字列まで切り出す

String str = "hoge1,hoge2,hoge3,hoge4,hoge5";
int start = 0;
int end = str.indexOf(",hoge2");

String subString = str.substring(start, end);
System.out.println(subString);

// コンソールの出力結果
hoge1

他のメソッドをうまく組み合わせることである程度の柔軟性を持たせることができます。

ペンタ

試してみてね!