当前位置:  开发笔记 > 编程语言 > 正文

哪个是首选:Regex.Replace()或.aRegexObject.Replace()?

如何解决《哪个是首选:Regex.Replace()或.aRegexObject.Replace()?》经验,为你挑选了1个好方法。

这是这个问题的后续内容

前两个答案都是正确和完整的,并且在一天结束时,产生完全相同的结果.但是,一个使用Regex对象并调用aRegex.Replace(...)方法(Joel的答案),另一个使用静态Regex.Replace(...)方法.(CMS答案).

哪种方法更受青睐?
在什么情况下你会改变主意?



1> Andrew Hare..:

使用静态实例Regex每次都会创建一个新对象,因此最好自己实例化它.这是我在System.dll上使用Reflector发现的:

public static string Replace(string input, string pattern, string replacement)
{
    return new Regex(pattern, RegexOptions.None, true).Replace(input, replacement);
}

此外,如果您实例化自己的实例,您也可以编译它并提高多次使用的性能.

可以发送RegexOptions.Compiled到其中一个静态Replace重载,但这是没有意义的,Regex因为将使用此标志实例化的对象不能再次使用.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有