Javaエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnetJava
  2. Javaコラム
  3. Java TIPS
  4. javaのsubstringとは?基本と応用の利用方法を解説

javaのsubstringとは?基本と応用の利用方法を解説

  • Java TIPS
公開日時:   更新日時:
javaのsubstringとは?基本と応用の利用方法を解説
この記事でわかること

    システム
    エンジニア
    javaのsubstringとは、どのようなことができるのでしょうか?

    プロジェクト
    マネージャー
    文字列を切り出し、体裁を整えることができます。

    substringとは?

    substringは、java.lang.Stringクラスに存在するメソッドの1つです。引数として切り出したい文字のインデックスを指定します。切り出される文字列は指定されたインデックスから始まり、終了インデックスより1文字前、または文字列の最後までを切り出します。インデックスを指定する場合に注意していただきたいのは、1文字目のインデックスが0になるということです。これは配列などと同じ考え方であり、javaでインデックスを利用する場合にはどのクラスでも0始まりとなります。普段認識しているように、1から数えてしまうと求めている文字列を切り出すことができないため、この点に関してはしっかりと把握しておきましょう。インデックスに指定された値が元の文字列の長さを超えていた場合は、IndexOutOfBoundsExceptionが発生します。また、開始インデックスが終了インデックスより大きい場合も同様に、IndexOutOfBoundsExceptionが発生します。

    substringの利用方法

    substringには、引数を1つだけ指定した場合と、2つ指定する場合で2パターンの利用方法があります。それぞれ、以下のような内容となっています。

    ・開始インデックスのみを指定する場合
    ・開始インデックス、終了インデックスを指定する場合

    これは、切り出したい文字の長さによって変更することになります。javaでは、開始インデックス、終了インデックスともに0始まりの値を指定することになります。それでは、それぞれの使い方をご説明していきます。

    開始インデックスのみを指定する場合

    開始インデックスのみを指定する場合のsubstringメソッドは、以下のように記述します。文字列.substring(開始インデックス)開始インデックスのみを指定すると、文字列は開始インデックスから文字列の最後の文字までが切り出されます。例えば、文字列「あいうえおかきくけこ」から「かきくけこ」のみを切り出したい場合は、以下のようにします。

    実行結果

    開始インデックスのみを指定すると、開始インデックスから最後の文字までが切り出されていることが確認できます。この開始インデックスを文字の長さを超えて指定すると、エラーが発生します。また、開始インデックスに負の値を指定した場合もIndexOutOfBoundsExceptionが発生します。

    開始インデックス、終了インデックスを指定する場合

    開始インデックス、終了インデックスの両方を指定する場合のsubstringメソッドは、以下のように記述します。文字列.substring(開始インデックス, 終了インデックス)開始インデックス、終了インデックスの両方を指定すると、開始インデックスから終了インデックス-1までの文字列を取得します。ここで注意しなければならないのは、開始インデックスに指定された場所の文字列は切り出された文字列に含まれますが、終了インデックスに指定された文字列は含まれないということです。以下のコードで動きを確認してみましょう。

    実行結果

    文字列「あいうえおかきくけこ」で、かきくけこを切り出そうとした場合、「こ」のインデックスは9の為、終了インデックスを9と指定してしまいがちです。しかしながら、javaのsubstringでは、終了インデックスに指定された文字は切り出された文字には含まれません。そのため、この場合は10を指定することになります。開始インデックスに負の値を指定した場合や、終了インデックスが開始インデックスより小さな値だった場合、終了インデックスが文字列の長さより大きかった場合にはIndexOutOfBoundsExceptionが発生します。

    応用:indexOfと併用する

    substringを利用したいけれどインデックスの場所がわからない場合、文字列の長さがわからない場合には、javaでは同じStringクラスに用意されているindexOfを併用すると解決します。例えば、「あいうえお」の中で「え」から先を切り出したい場合は以下のようになります。

    実行結果

    indexOfは文字列の中から指定された文字列を検索し、先頭を0としてインデックスを返します。そのため、開始インデックスはそのまま利用することが可能です。しかし、javaのsubstringでは、終了インデックスに指定されたインデックスの文字が含まれないため、+1をして1つ分インデックスをずらして指定することになります。また、indexOfは一致する文字列が無かった場合、-1を返します。これを利用することにより、エラーを回避することが可能です。以下のコードで確認してみましょう。

    実行結果

    このように、substringとindexOfをうまく利用することで、様々なことができるようになります。

    システム
    エンジニア
    javaのsubstringは、実務で大活躍してくれそうですね。

    プロジェクト
    マネージャー
    そうですね。覚えておいて損はないので、しっかりとマスターしておきましょう!

    substringメソッドの使い方を覚えよう

    javaで部分文字列を切り出すsubstringは、頻繁に利用されるメソッドの1つです。文字列操作の基本と言っても過言ではありません。そんなsubstringメソッドの使い方をしっかりと覚えておけば、実務でも活用することが可能です。今回はindexOfを交えた利用方法をご紹介しました。この利用方法を覚えておけば、様々な場面でsubstringを活用していけるでしょう。まずは実際にsubstringを利用したプログラムを作ってみてください。いろいろ工夫して、プログラムを作ってみましょう。

    FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    Java新着案件New Job