文字列からすべての特殊文字を削除したい。使用できる文字は、A〜Z(大文字または小文字)、数字(0〜9)、下線(_)、またはドット記号(。)です。
私は以下を持っています、それは機能しますが、私は知っています(私は知っています!)それは非常に効率的ではありません:
public static string RemoveSpecialCharacters(string str)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
if ((str[i] >= '0' && str[i] <= '9')
|| (str[i] >= 'A' && str[i] <= 'z'
|| (str[i] == '.' || str[i] == '_')))
{
sb.Append(str[i]);
}
}
return sb.ToString();
}
これを行う最も効率的な方法は何ですか?正規表現はどのように見え、通常の文字列操作とどのように比較しますか?
クリーンアップされる文字列はかなり短く、通常は10〜30文字の長さです。