【C#入門】String.Substringで文字列の指定部分を抜き出す方法

Substringメソッドって使ってますか?Substringメソッドを使うことで、文字列からある指定の文字列を抜き出すことができます。

この記事では、Substringメソッドについて

  • String.Substringメソッドとは
  • String.Substringで文字列を抜き出す

という基本的な内容から、

  • IndexOfメソッドとの組み合わせ

など具体的な使い方の内容についても解説していきます。

今回はSubstringメソッドについて、使い方をわかりやすく解説します!

String.Substringメソッドとは

SubstringメソッドとはStringクラスのメソッドで、文字列から指定の文字列を抜き出す場合に使います。

Substringメソッドは以下のように定義されています。

public string Substring(
    int startIndex,
    int length
)

引数Substringには、抜き出す文字列の開始文字位置を0から指定します。引数lengthには、抜き出す文字列の文字数を指定します。

引数lengthを省略すると、末尾まで抜き出します

String.Substringで文字列を抜き出す

それでは、サンプルコードでSubstringメソッドの使い方を確認しましょう。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string str = "侍エンジニア塾";
      Console.WriteLine(str.Substring(0, 1));
      Console.WriteLine(str.Substring(1, 5));
      Console.WriteLine(str.Substring(6));
      
      Console.ReadKey();
    }
  }
}

実行結果:

侍
エンジニア
塾

このサンプルコードでは、Substringメソッドを使って開始位置と文字数を指定して、文字列strから部分文字列の一部分を抜き出しています。

IndexOfメソッドとの組み合わせ

先ほどのサンプルコードでは、抜き出す部分文字列の開始位置と文字数をあらかじめ数値で指定しました。

しかし、抜き出す文字列を変数で変えられるようにした場合は、その文字列がどの位置から開始するかも変わってきます。

その場合は、IndexOfメソッドを使って文字列の開始位置を取得します。IndexOfメソッドを以下のように定義されています。

public int IndexOf(
    string value
)

引数valueには探す文字列を指定します。

SubstringメソッドとIndexOfメソッドを組み合わせて指定した文字列を抜き出す方法を確認しましょう。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      string src_str = "侍エンジニア塾";
      string target_str = "エンジニア";
      Console.WriteLine(src_str.Substring(
                          src_str.IndexOf(target_str), 
                          target_str.Length));
      
      Console.ReadKey();
    }
  }
}

実行結果:

エンジニア

このサンプルコードでは、SubstringメソッドとIndexOfメソッドを組み合わせて文字列を抜き出しています。

抜き出す文字列の開始位置をIndexOfメソッドを使って取得し、Lengthプロパティを使って文字数を取得しています。

IndexOfメソッドの詳しい使い方は次の記事で解説しているので、ぜひ確認してください。

【C#入門】IndexOfで文字列やList、配列を検索する方法
更新日 : 2019年5月7日

文字列の使い方総まとめ

文字列の様々な使い方は次の記事でまとめて解説しているので、その他の文字列の使い方に興味がある方はぜひ確認してください。

【C#入門】Stringクラスで文字列操作総まとめ
更新日 : 2019年5月5日

まとめ

ここでは、StringクラスのSubstringメソッドについて説明しました。

SubstringメソッドはIndexOfメソッドと組み合わせて使われることも多いです。

使いこなすことができるように、この記事を何度も参考にして下さいね!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]