1分でわかる文字列の一部を切り出しするsubstringの使い方【Java Stringクラス】

substring
  • このエントリーをはてなブックマークに追加
  • Pocket

Stringクラスには様々なメソッドがあるが、文字列の中の一部を切り出すこともできる。

このページではJavaで文字列の一部を切り出すために使えるsubstringについてご紹介しよう。

文字列の一部を切り出しする(substring)

substringメソッドの基本的な使い方

substringは文字列の一部を取得するためのメソッドだ。使い方も簡単だ。

文字列.substring( int biginIndex)

biginIndex → 開始インデックス(この位置にある文字は含まれる)

戻り値の型

String

内容

この文字列の部分文字列である新しい文字列を返する。

substring(int biginIndex)は、文字列からbiginIndexで指定された位置にある文字から最後までを切り取り、新しい文字列として返すメソッドだ。

サンプルコード

実行結果

サンプルコードの説明

下記がサンプルコードの内容だ。

  • [1] String型の変数messageの宣言
  • [2] 変数messageの初期化.し、文字を代入。
  • [3] substringを使用して変数messageの4文字目から最後までを取得し、変数resultへ代入。(※)
  • [4] 変数resultを出力。

4文字目は0文字から始まっているので「おはようございます。気持ちのいい朝です。」の「う」ではなく、「ご」になる。

普通、数字を数えるときは1,2,3と数えるが、Java言語では0から始まり0,1,2,3…となる。

「何文字目」という切り出す始まりの文字位置の考え方は間違えやすいので注意してほしい。この何文字目ということを「インデックス」と表現する。

substringで間を取得する方法

「○文字目から最後」という設定だけではなく、「○文字目から○文字目」という取得もできる。使い方は次の通りだ。

文字列.substring( int biginIndex,int endIndex)

  • biginIndex → 開始インデックス(この位置にある文字は含まれる)
  • endIndex → 終了インデックス(この位置にある文字は含まれない)

戻り値の型

String

内容

この文字列の部分文字列である新しい文字列を返す。

substring(int biginIndex, int endIndex)は、文字列からbiginIndexで指定された位置にある文字からendIndexまでの文字を切り取り、新しい文字列として返すメソッドだ。

ここでの注意する点は、endIndexで指定されたインデックスの文字は含まれないということだ。

「あいうえお」という文字列を「いう」という形で取り出したいと思う場合

「あいうえお」のインデックスは

あ → インデックス0

い → インデックス1

う → インデックス2

え → インデックス3

お → インデックス4

となる。

substring(1,3)は

biginIndex → 1

endIndex → 3

ということで、「いう」という新しい文字列が取得できる。

サンプルコード

実行結果

サンプルコードの説明

  • [1] String型の変数messageの宣言
  • [2] 変数messageの初期化.。文字列の代入。
  • [3] substringを使用して変数messageの0番目である「お」から4番目のひとつ前の「う」までを取得し、変数resultへ代入。
  • [4] 変数resultを出力。

substringで文字列の体裁を整える

substringメソッドは文字列から必要な部分を取り出して文字列の体裁を整える場合に使用されることも多い。

たとえば、「20160101」などの形式で入力されている文字列の体裁を年月日に変更する場合は以下のサンプルコードのようになる。

サンプルコード

実行結果

サンプルコードの説明

  • [1] String型の変数dateの宣言
  • [2] 変数dateの初期化.。文字列「20160101」の代入。
  • [3] substringを使用して変数dateの0番目である「2」から4番目のひとつ前の「6」までを取得し、変数yearへ代入。
  • [4] substringを使用して変数dateの4番目である「0」から6番目のひとつ前の「1」までを取得し、変数monthへ代入。
  • [5] substringを使用して変数dateの6番目である「0」最後までを取得し、変数dayへ代入。
  • [6] それぞれ変換した新しい文字列を組み合わせて年月日形式にした値を出力。

Stringに代入した文字列は変えることができないので、substringを使用して取り出した文字列を再度利用したい場合は、新しい文字列に代入して値を保持する必要がある。

まとめ

このページではJavaで一部の文字を切り出すsubstringメソッドについてお伝えした。

色々な場面で使う機会があるメソッドなので、細かい使い方はともかくとして、メソッド名だけは覚えておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*