在Notepad++中删除所有不包含@字符的行

7

我有一个列表,如下:

asd@asd
abcdefgh
abcde@fgh
ijklmnop

我想删除所有没有符号@的行。结果应该是:
 asd@asd
 abcde@fgh

这能在Notepad++中完成吗?如果可以,怎么做?

你可能需要编写一些正则表达式来帮助你,伙计。 - Evernoob
我已经查看了这个http://en.wikipedia.org/wiki/Regular_expression,我可以用[A-Za-z0-9]@[A-Za-z0-9]找到@符号,但我只能更改它们而不能删除其他内容。 - Notepadguy
3个回答

23

尝试查找:

^[^@]*$

并将其替换为空字符串。


哇,太棒了...我会试一下的! - Notepadguy
是的,请尝试使用这个正则表达式。它会删除所有不包含至少一个@符号的行。 - obaqueiro
1
@Notepadguy - 这个正则表达式的意思是“一整行不包含@”。 - gislikonrad
工作得非常好,感谢Xtracto和Ryan Gross。 - Notepadguy
如果您想使用查找/替换一次性删除整行,请将正则表达式设置为 ^[^@]*\r\n(\r\n 用于 Windows 文本文件,在 NP++ 中使用“查看”->“显示符号”查找实际的换行符)。 - cmcapellan

2

使用以下正则表达式进行查找和替换:

^[^@]*$

1
在搜索窗口中,转到“标记”选项卡(如果缺少该选项卡,则需要升级您的Notepad ++)。
选择“标记行”和“正则表达式”,使用您已经获得的正则表达式。
^[^@]*$

点击 "全部标记"

这将为所有没有 @ 的行创建书签。

前往菜单栏 "搜索 - 书签 -> 移除已标记的行"。


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