我很难决定使用哪一个,要么使用Regex.Replace
要么使用Regex.Matches
,如果你必须在每个匹配上执行一些逻辑来生成替换值。
场景:读取文件(大小可能不同),然后使用正则表达式替换匹配项。每个匹配的替换值是不同的,并且由某些逻辑生成。
方法1:阅读完整的文件,然后查找所有匹配项,然后我执行foreach或for循环并逐个替换它们。
方法2:读取完整文件,然后将Regex.Replace方法与MatchEvaluator一起使用,其中MatchEvaluator函数执行逻辑并返回替换值。
我想在这里链接一篇文章,它以某种方式给我一种不使用的感觉,Regex.Replace。链接:https://blogs.msdn.microsoft.com/debuggingtoolbox/2008/04/02/comparing-regex-replace-string-replace-and-stringbuilder-replace-which-has-better-performance/
答案 0 :(得分:0)
方法1:
foreach
循环播放大数据,(更耗时。)方法2:
MatchEvaluator
(非常确定需要更多时间)方法3:
string.replace()