【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

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

長野 透

長野 透

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

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説