これを行う良い方法がありますか?C#で複数の文字列要素を置き換える
MyString.Trim().Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace("/", "").ToLower();
文字列クラスを拡張して1つのジョブにしましたが、より速い方法がありますか?
public static class StringExtension
{
public static string clean(this string s)
{
return s.Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace(".", "")
.Replace("eacute;", "é").ToLower();
}
}
ちょっと面白くて(そしてコメントの引数を止めるために) 私は下のさまざまな例をベンチマークして大事にしました。
正規表現オプションはひどくスコアを付けます。辞書オプションが最も速くなります。ストリングビルダの置き換えられた長いバージョンは、短い手よりもやや速いです。
ですStringBuilderソリューション – toad
@toadこんにちは2009年から。私はその驚くべき間違いについて4月に下記のコメントを追加しました。私はDをスキップしましたが、要点は更新されました。辞書のバージョンはまだまだ高速です。 –
[代替のString.Replace何回かの重複の可能性がありますか?](http://stackoverflow.com/questions/12007358/alternative-to-string-replace-multiple-times) –