Replaceメソッドでは、文字列の範囲を指定して別の文字列に置き換えることはできません。 そういった置換を行う場合は、Substringメソッドで文字列を切り出したあと置き換えたい文字列と連結するようにします。 次の例では、位置を指定して文字列の一部分を置き換えるReplaceメソッドを作成しています。
文字列中の指定した範囲を別の文字列に置換する
using System;
class Sample {
// 文字列strのstart文字目からlength文字分をnewstrに置き換えるメソッド
static string Replace(string str, int start, int length, string newstr)
{
return str.Substring(0, start) + newstr + str.Substring(start + length);
}
static void Main()
{
var s = "The quick brown fox jumps over the lazy dog";
Console.WriteLine(s);
Console.WriteLine(Replace(s, 4, 5, "clever")); // 4文字目から5文字分を"clever"に置き換え
}
}
実行結果
The quick brown fox jumps over the lazy dog The clever brown fox jumps over the lazy dog