【C#入門】StringクラスのReplaceメソッドで文字列を置換する方法

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

C#には文字列を検索して条件に一致する部分を置換するための「Replaceメソッド」があります。

ReplaceメソッドはStringクラスの他に、StringBuilderクラスでも用意されています。

この記事では、

  • Replaceメソッドとは
  • StringクラスのReplaceメソッドの使い方
  • Replaceで改行を削除する方法
  • Replaceで空白を削除する方法
  • StringBuilderクラスのReplaceメソッドの使い方

などの基本的な内容から、応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、Replaceメソッドのさまざまな使い方をわかりやすく解説します!

目次

Replaceメソッドとは

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

条件に特定の文字列を指定することで、文字列の誤字を一括で修正したり、文字列のフォーマットを変更することができます。この記事では、文字列から改行コードを削除する方法や、空白を削除する方法などの実践的な使い方も解説していきます。

Replaceメソッドは次のように記述します。

対象の文字列.replace(検索する文字列, 置換後の文字列)

Replaceメソッドは、対象の文字列を検索してマッチした文字列を置換後の文字列に置き換えます。

戻り値は置換後の文字列です。

StringクラスのReplaceメソッドの使い方

ここでは、StringクラスのReplaceメソッドを使って指定した文字列を置換する方法を解説します。

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

using System;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "apple, orange, melon, apple";
            string str2 = str1.Replace("apple", "banana");

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

            Console.ReadKey();
        }
    }
}

実行結果:

apple, orange, melon, apple
banana, orange, melon, banana

このプログラムでは、文字列の「apple」を「banana」に置換して表示しています。

このようにしてReplaceメソッドで文字列を置換することができました。

Replaceで改行を削除する方法

ここではReplaceメソッドで改行を削除する方法を解説します。

改行コードは環境によって変わりますが、「n」と「r」が使われます。

そのため、「n」と「r」のそれぞれを空文字(“”)で置換して削除することで、どの環境でも改行コードを削除できます。

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

using System;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "SamurainEngineer";
            string str2 = str1.Replace("n", "");
            str2 = str2.Replace("r", "");

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

            Console.ReadKey();
        }
    }
}

実行結果:

Samurai
Engineer
SamuraiEngineer

このようにして改行を削除できることが確認できました。

Replaceで空白を削除する方法

空白を削除する場合は、空白を空文字(“”)で置換することで削除できます。

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

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

このようにして空白を削除できることが確認できました。

StringBuilderクラスのReplaceメソッドの使い方

ReplaceメソッドはStringBuilderクラスにも用意されています。

StringBuilderクラスの使い方は次の記事で詳しく解説しているので、ぜひ確認してください。

C#を継続的に学習するコツ

C#の学習をしていて、わからないところが多く何回も調べながらやるのは正直、嫌になってしまいますよね。そこで、どのようにすれば継続的に学習を続けて行けるのかそのコツをご紹介します。

目的を明確にする

まずは、なぜC#を学んでいるのか明確にしましょう。例えば、C#を学んで

  • Webサイトが作りたい
  • ゲームを作りたい
  • エンジニアとして転職したい


など、目的は色々あると思います。

この目的を明確にすることがとても大事で、C#を学ぶ学習意欲に繋がっていきます。目的がないまま学習をしていると、学習すること自体が目的になってしまい、ゴールのない果てしない道を進むことになります。その結果、挫折してしまう人が多いのが現状となっています。

そうならないためにも、C#を学ぶ目的は言えるようにしましょう。もし言えない場合は、学ぶプログラミング言語自体間違っている可能性もあります。なので、しっかり目的から学んでいる言語があっているか確認しましょう。

学習プランを決める

目的が明確になったら、次に学習プランを立てましょう。この学習プランを立てずに学習している人が多いのですが、学習プランがないと自分が今どのくらい進んでいて、後どのくらい学習をすればいいのか見えないので、学習をすること自体がきつく長続きしません。

学習を継続的に続けるためには学習プランは必須とも言えます。いつまでに、どのレベルになっていて、最終的なゴールはいつ達成するのかはしっかり決めましょう。

先生を見つける

「何度もエラーになって、自分で調べては修正する」この繰り返しがC#を学習していると起こります。調べてもよくわからないし、時間もかかってしまってプラン通りに学習が進まないというのは当然のように起こります。

調べて直したけどうまく動かないしどうなってんの

このように思い、学習をすること自体に嫌気が指して挫折してしまう人も多いです。

そうならないためにも、「先生」を見つけることが大事になります。先生と言ってもそう簡単に探せそうにないですよね。最近ではSNSでもコミュニティーが増え、相談しやすい環境が増えてきています。こういったコミュニティーや勉強会を利用して先生を見つけるのも一つの手です。

自分に投資することも大事

学習サイトやアプリなど、無料で学習できる環境が整ってはいるものの自分に投資して学習をすることも大事です。本や有料学習サイトは、無料では学べない範囲の学習や機能が付いているので、効率的に学習をすることが可能です。

そして、投資のもう一つの方法がプログラミングスクールで学ぶことです。

独学と違い、プログラミングスクールでは上で紹介した学習を継続するためのサポートが徹底されているので、最も効率の良い学び方と言えるでしょう。先生も自分で探す必要がないので、エラーなどで躓いて時間がかかる心配もありません。

ですが、当然いきなりスクールに入るのは抵抗がありますよね。

その場合は、弊社で行っている無料カウンセリングへ参加してみてください。この無料カウンセリングでは、なぜC#を学ぶのかその目的をヒアリングして、本当にC#を学ぶべきなのか、その学習プランはどのように立てるのかなどの提案をしています。

目的をヒアリングすることで、あなたに最適な言語や学習プランが分かるので、最速でエンジニアを目指せるイメージがわきます。

手軽にしかもオンラインでも受けられるので、ぜひ一度目的を明確にしてみましょう。

無料カウンセリングに申し込む

まとめ

いかがでしたか?

今回はReplaceメソッドで指定した文字列を置換する方法を解説しました。

文字列の置換は誤字の修正やフォーマットの変更などの様々な場面で使えるのでぜひ活用してくださいね。

もし、Replaceメソッドの使い方を忘れてしまったらこの記事を確認してください!

この記事を書いた人

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
ntakeshi@sejuku.net

目次