【发布时间】:2012-07-08 21:27:40
【问题描述】:
我正在使用这种方法来清理字符串
public static string CleanString(string dirtyString)
{
string removeChars = " ?&^$#@!()+-,:;<>’\'-_*";
string result = dirtyString;
foreach (char c in removeChars)
{
result = result.Replace(c.ToString(), string.Empty);
}
return result;
}
此方法工作正常。但此方法存在性能故障。每次我传递字符串时,每个字符都会进入循环,如果我有一个大字符串,那么返回对象会花费太多时间。
还有其他更好的方法来做同样的事情吗?就像在 LINQ 或 JQUERY / Javascript 中一样
任何建议都将不胜感激。
【问题讨论】:
-
你
"cleaning"一个字符串的目的是什么? -
我基本上是在处理很多 Qurystring 值...
-
将所有字符放入一个正则表达式的字符类中,然后一次性全部替换。
-
定义“更好”。任何解决方案都会对字符进行循环。您的代码中的缺点是过度创建字符串对象,而不是每个字符的循环。
-
@patel.milanb 那么你要找的是
HttpUtility.HtmlEncode不是字符串清理