删除在多个文件中的特定词语在记事本线++(Deleting lines with specific

2019-10-29 09:09发布

我试图去除许多文件我正在用记事本++特定行。

在搜索,我发现记事本+ +目录中删除与在多个文件中特定字线 ,但不知何故提供正则表达式( ^.*(?:YOURSTRINGHERE).*\r\n$ )的答案不为我工作(截图: https://cdn.discordapp.com/attachments/311547963883388938/407737068475908096/unknown.png )。

我的一些其他问题/答案读某些正则表达式不会在新/旧的记事本++版本。 我用记事本+ + 5.XX然后更新到最新的7.5.4,但也与上面的问题提供正则表达式的工作。

目前,我可以解决它通过更换符合什么,两次(因为只有2个变种,我需要从这些文件中删除),但留下一个空行,在文件的结尾。 所以,我必须做的另一更进一步以删除空行。

我希望有人能提供帮助,让我删除了这一行,不留空白行/空间落后。

Answer 1:

您尝试使用将只匹配您的线路,如果是跟着一个空行和Windows换行符(CR LF)正则表达式中使用。 这是由于\r\n$相匹配断行序列,随后的线的端部。

相反,你可能想使用

^.*(?:YOURSTRINGHERE).*\R?

要匹配包含您的串线和一个可选以下行中断序列来删除行,而不是清空出来的。 这将留给你一个换行符,如果你的字包含在文件的最后一行。 您可以使用

(\R)?.*(?:YOURSTRINGHERE).*(?(1)|\R)

为了避免这种情况。 它使用条件要么匹配以前的断行,或者如果没有以下。



文章来源: Deleting lines with specific words in multiple files in Notepad++