C# 初学者正则表达式替换性能问题
我有一个简单的基于正则表达式替换的例程,有没有改进它的性能(也许还有它的优雅?) 谢谢,,C# 初学者正则表达式替换性能问题,c#,regex,performance,C#,Regex,Performance,我有一个简单的基于正则表达式替换的例程,有没有改进它的性能(也许还有它的优雅?) 谢谢,, Matt您可以组合大多数表达式,直到最后只有三个表达式: public static string stripshrapnel(string str) { string newstr = str.Trim(); newstr = Regex.Replace(newstr, @"[-',""?#;:+%[\]*/\\\\]", ""); newstr = Re
Matt您可以组合大多数表达式,直到最后只有三个表达式:
public static string stripshrapnel(string str)
{
string newstr = str.Trim();
newstr = Regex.Replace(newstr, @"[-',""?#;:+%[\]*/\\\\]", "");
newstr = Regex.Replace(newstr, @"&?", "&");
newstr = Regex.Replace(newstr, @" ?", " ");
return newstr;
}
可以组合大多数表达式,直到只得到三个:
public static string stripshrapnel(string str)
{
string newstr = str.Trim();
newstr = Regex.Replace(newstr, @"[-',""?#;:+%[\]*/\\\\]", "");
newstr = Regex.Replace(newstr, @"&?", "&");
newstr = Regex.Replace(newstr, @" ?", " ");
return newstr;
}
由于您使用的是零正则表达式功能,可能还有另一种方法。看起来C#有一个字符串的方法,用它来代替,我想在做正则表达式而不是简单的替换时会用到很多额外的功能。既然你使用的是零正则表达式功能,也许还有另一种方法。C#似乎有一个字符串方法,用它来代替,我想在执行regex而不是简单的替换时会用到很多额外的功能。String.replace没有字符集,需要与问题中类似的代码。Gumbo的解决方案速度更快,可读性更强。String.Replace没有字符集,需要与问题中类似的代码。Gumbo的解决方案更快,可读性更强。神奇的Gumbo!,谢谢,有人知道这会快多少吗(粗略的%?)@WickedW:目前的表现不能接受吗?如果是,您是否分析了应用程序以确定这是否是一个瓶颈?通常最好避免过早优化。(虽然我肯定会考虑用Gumbo的代码替换你原来的代码。)@WickedW:我并不期望它会快得多,因为它做同样的工作,但只是以不同的方式。但是你为什么不自己做基准呢?很棒的秋葵!,谢谢,有人知道这会快多少吗(粗略的%?)@WickedW:目前的表现不能接受吗?如果是,您是否分析了应用程序以确定这是否是一个瓶颈?通常最好避免过早优化。(虽然我肯定会考虑用Gumbo的代码替换你原来的代码。)@WickedW:我并不期望它会快得多,因为它做同样的工作,但只是以不同的方式。但是你为什么不自己做基准呢?