删除包含特定单词的行

4
我希望删除所有包含“False”一词的行

例如,如果我有一个包含以下内容的文本文件:

之前

MyEmail@gmx.net|J|1983>2012>3000|Good|[0=%]
MyEmail@hotmail.net|N|1985>2012>3000|False|[~~~'#'***+++~~~]
MyEmail@hotmail.net|N|1985>2012>3000|Good|[$"$!]|Number 2123

之后

MyEmail@gmx.net|J|1983>2012>3000|Good|[0=%]
MyEmail@hotmail.net|N|1985>2012>3000|Good|[$"$!]|Number 2123

在Notepad++中,我应该使用哪个正则表达式来删除不必要的行?

“Bad line” 是什么意思? - user554546
阅读第一个评论 => 删除所有包含单词“False”的行。谢谢 - Eule2000
我还不理解这个正则表达式,我在谷歌上查找但没有找到我需要的内容,所以我在这里寻求帮助。 - Eule2000
4个回答

14

最新版本的Notepad++ (v6.0)支持PCRE,因此您可以执行以下操作:

搜索:.*?False.*\r?\n
替换为:nothing


5
很可能只需进入Notepad++工具菜单,输入要查找的文本,然后指定删除它找到的每一行。
否则,用于识别整个行的正则表达式可能是这样的:
重新执行
如果默认值是(.)点,除了换行符之外的任何字符,则为
.*False.*\n?
否则,为
[^\n]*False[^\n]*\n?
如果“False”在该行上,则应匹配整行(加上换行符)。
更复杂的逻辑要求“False”必须由定界符包围。

1

不行。Notepad++ 不支持将正则表达式与行尾混合使用

仅在扩展模式下才能删除行尾或连接行。

,

"Extended"选项显示\n和\r作为可以匹配的字符。与正常搜索模式一样,Notepad++正在寻找确切的字符。

1

你不能在单个步骤中使用正则表达式完成它,但是使用书签可以实现两个步骤的过程。

在“查找”对话框中,有一个“标记行”的选项,可以用于标记与您的查询匹配的行以进行删除等操作。在较新版本的Notepad++中,此选项已移至“标记”选项卡中的“查找”对话框。

一旦所需行已被标记,从菜单栏中选择“搜索”>“书签”>“删除已标记行”。顾名思义,这将删除先前搜索中标记的所有行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接