Stringクラスと同様、文字列の挿入・削除・置換にはStringBuilder.Insert、StringBuilder.Remove、StringBuilder.Replaceの各メソッドが使えます。 引数と動作はStringクラスのものとほぼ同じですが、InsertメソッドはAppendメソッド同様に文字列以外も追加出来ます。 なお、String.Removeメソッドとは異なり、StringBuilder.Removeメソッドでは削除する文字数を省略することは出来ません。
StringBuilder.Insert・Remove・Replaceメソッドを使って文字列を挿入・削除・置換する
using System;
using System.Text;
class Sample {
static void Main()
{
var sb = new StringBuilder("The quick brown fox jumps over the lazy dog");
Console.WriteLine("<{0}>", sb);
// 4文字目から6文字分を削除
sb.Remove(4, 6);
Console.WriteLine("<{0}>", sb);
// 29文字目から4文字分を削除
sb.Remove(29, 4);
Console.WriteLine("<{0}>", sb);
// 29文字目に数値3を追加
sb.Insert(29, 3);
Console.WriteLine("<{0}>", sb);
// 30文字目に" white "を追加
sb.Insert(30, " white");
Console.WriteLine("<{0}>", sb);
// 文字列"dog"を"dogs"に置換
sb.Replace("dog", "dogs");
Console.WriteLine("<{0}>", sb);
// 文字'o'を'a'に置換
sb.Replace('o', 'a');
Console.WriteLine("<{0}>", sb);
// 文字列"brawn"をnullに置換(=削除)
sb.Replace("brawn ", null);
Console.WriteLine("<{0}>", sb);
}
}
実行結果
<The quick brown fox jumps over the lazy dog> <The brown fox jumps over the lazy dog> <The brown fox jumps over the dog> <The brown fox jumps over the 3 dog> <The brown fox jumps over the 3 white dog> <The brown fox jumps over the 3 white dogs> <The brawn fax jumps aver the 3 white dags> <The fax jumps aver the 3 white dags>
StringBuilderの内容を完全に削除したい場合は、Clearメソッドを使うこともできます。