我家里没有我的代码,但我意识到我需要对某个表达式进行正则表达式替换,我想知道是否有最佳实践。
我的代码目前正在做的是在文件中搜索匹配项,将这些匹配项从文件中取出(用 替换它们""
),然后在处理完所有文件后,我调用 .NETProcess
类来执行一些命令行操作。具体来说,我要做的是获取一组文件并将它们复制(合并)到一个最终输出文件中。但是有一个实例,每个要合并的文件都有完全相同的第一行,我们只是说这个例子是:
FIRST_NAME|MIDDLE_NAME|LAST_NAME|ADDRESS
现在,第一个文件没有问题。而且我认为我将进行最后一场比赛,并在文件合并后替换。但我只想在第一次出现后替换该特定表达式的匹配项。
所以,我读到 C# 对正则表达式的支持非常好?这是否是实现“在第一次出现匹配后替换匹配”的正确方法,如果是这样,您将如何在给定示例正则表达式的情况下实现它?
我自己对此的个人解决方案是返回文件夹中的文件数量,Directory.GetFiles
然后foreach (string file in matches)
我会声明一个快速条件,上面写着
if (count == directoryCount)
do not match and replace
count minus 1
elseif (count < directoryCount)
strip matching expression
然后foreach
在第一次运行之后的每次迭代都会从文件中删除匹配的表达式,只留下第一个文件与我想要保留的表达式。
感谢您的任何建议。