メモ帳から文字列を取り出して在る特定の
文字列を高速に別の文字へ置換したいのですが、

 AnsiString str;   // 文章
 AnsiString oldstr; // 置換対象の文字
 AnsiString newstr; // 置換後の文字
 int pos;      // 削除指定 先頭場所
 int length = oldstr.Length(); // 削除指定 長さ
 while ((pos = str.Pos( oldstr )) != 0)
 {
  str.Delete( pos , length );
  str.Insert( newstr , pos );
 }

この方法だと、文章50万文字中に置換対照の文字が
5000〜10000程あると、如何しても何十秒もかかって
しまうのですが、何か良い方法は無いものでしょうか?