【C#】文字列の置換(Replaceメソッド)

C#

この記事では、string.Replaceメソッドの基本的な使い方を紹介します。

string.Replaceメソッドとは

string.Replaceメソッドは、文字列内の特定の文字列を別の文字列で置き換えるために使用されます。このメソッドは、2つの主要なパラメータを取ります。最初のパラメータは置き換える対象の文字列(検索文字列)、2番目のパラメータは置き換える新しい文字列です。

基本的な使用方法

以下の例では、文字列 “Hello, World!” の “World” を “C#” に置き換えています。

string originalString = "Hello, World!";
string modifiedString = originalString.Replace("World", "C#");
Console.WriteLine(modifiedString);  // 出力: Hello, C#!

注意点:大文字と小文字が区別される

string.Replaceメソッドは大文字と小文字を区別します。つまり、大文字と小文字が正確に一致しない場合、置換は行われません。例えば、次のコードは何も置換されません。

string originalString = "Hello, World!";
string modifiedString = originalString.Replace("WORLD", "C#");
Console.WriteLine(modifiedString);  // 出力: Hello, world!

参考情報:大文字と小文字を区別しない置換

少し高度な技術になりますが、正規表現をRegexクラス大文字小文字を区別しない置換を実現できます。

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string originalString = "Hello, World!";
        string pattern = "WORLD";
        string replacement = "C#";

        string modifiedString = Regex.Replace(originalString, pattern, replacement, RegexOptions.IgnoreCase);
        Console.WriteLine(modifiedString);  // 出力: Hello, C#!
    }
}

この例では、Regex.Replaceメソッドを使用しています。このメソッドは、置換対象のパターン(この場合は “WORLD”)、置換後の文字列(”C#”)、そしてオプションの引数 RegexOptions.IgnoreCase を受け取ります。RegexOptions.IgnoreCase は、大文字と小文字の区別を無視するように正規表現エンジンに指示します。

この方法を使用することで、C#において大文字小文字を区別せずに文字列を置換することが可能になります。ただし、正規表現は比較的高度な概念なので、初心者にとっては少し複雑に感じられるかもしれません。正規表現の基本的な理解が必要になりますが、これをマスターすると非常に強力なツールとなります。

タイトルとURLをコピーしました