【C#入門】文字列を削除する方法総まとめ(Remove)

こんにちは!エンジニアの中沢です。

C#には文字列のインデックスを指定したり、指定文字列を検索して削除をするための方法がいくつかがあります。そこで今回は、文字列を削除する様々な方法をまとめて解説します。

この記事では、

  • 文字列の削除とは
  • StringクラスのRemoveメソッドで削除

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

  • StringクラスのSubstringメソッドで抜き出す
  • StringクラスのTrimメソッドで文頭、文末を削除
  • StringクラスのReplaceメソッドで置換
  • StringBuilderクラスのRemoveメソッドで削除

などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、文字列を削除するさまざまな使い方をわかりやすく解説します!

目次

文字列の削除とは

文字列の削除には、目的に応じていろいろな方法があります。削除した文字列のインデックスを指定して削除する方法や、削除したい文字列を指定する方法などがあります。

この記事では基本的な削除の方法から応用的な削除の方法までまとめて解説します。

StringクラスのRemoveメソッドで削除

最も基本的な方法として、StringクラスのRemoveメソッドで削除する方法があります。Removeメソッドは第1引数で削除する文字列の開始位置をインデックス番号で指定し、第2引数で削除する文字数を指定します。

Removeメソッドの使い方を次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            string str1 = "侍エンジニア塾";
            string str2 = str1.Remove(1, 5);

            Console.WriteLine(str1);
            Console.WriteLine(str2);

            Console.ReadKey();
        }
    }
}

実行結果:

侍エンジニア
侍塾

StringクラスのSubstringメソッドで抜き出す

StringクラスのSubstringメソッドを使って必要な部分を抜き出すことで、余計な部分を削除して使うことができます。第1引数に抜き出す文字列の開始位置を0から指定します。

第2引数に抜き出す文字数を指定します。第2引数を省略すると、末尾まで抜き出します。次のプログラムで確認してみましょう。

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メソッドの詳しい使い方はこちらの記事で解説しているで、ぜひ確認してください。

StringクラスのTrimメソッドで文頭、文末を削除

StringクラスのTrimメソッドは、文字列の先頭と末尾に付いている空白文字や指定文字を削除するために使います。Trimメソッドは引数を指定せずに使うと、半角、全角のスペース文字、タブ文字、改行文字などを削除します。

次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            string str = "\t 侍エンジニア \n";

            Console.WriteLine(str.Trim());
            Console.ReadKey();
        }
    }
}

実行結果:

侍エンジニア

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

StringクラスのReplaceメソッドで置換

Replaceメソッドは、文字列を検索して条件に一致する部分を置換するために使用します。Replaceメソッドは第1引数に置換前の文字列を指定します。

第2引数に置換後の文字列を指定します。戻り値は置換後の文字列です。置換後の文字列に空文字(“”)を指定すれば削除することができます。次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = " sa mu  ra i ";
            string str2 = str1.Replace(" ", "");

            Console.WriteLine(str1);
            Console.WriteLine(str2);

            Console.ReadKey();
        }
    }
}

実行結果:

 sa mu  ra i
samurai

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

StringBuilderクラスのRemoveメソッドで削除

StringBuilderクラスにもRemoveメソッドがあります。Removeメソッドは、第1引数で削除する文字列の開始位置をインデックス番号で指定し、第2引数で削除する文字数を指定します。

次のプログラムで確認してみましょう。

using System;
using System.Text;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            StringBuilder sb = new StringBuilder("侍エンジニアengineer塾");
            Console.WriteLine(sb.Remove(6, 8));

            Console.ReadKey();
        }
    }
}

実行結果:

侍エンジニア塾

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

まとめ

いかがでしたか?今回は文字列を削除する様々な方法を解説しました。文字列を削除する方法はいくつかあるので、状況に応じて使い分けてくださいね。

もし、文字列を削除する方法を忘れてしまったらこの記事を確認してください!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次