在 Notepad++ 中,我有许多行格式如下:
abc.xyz
其中“abc”可能有空格或 - 或数字。
如何删除没有“。”的行?因此,如果某一行没有任何“。”,我希望将其完全删除,甚至不留下空行。
答案1
如何删除没有的行.
?
菜单“搜索”>“替换”(或Ctrl+ H)
将“查找内容”设置为
^[^\.]*\r\n
- 您可以
\r\n
根据文件中的 EOL(行尾)使用不同的 EOL 正则表达式进行替换(请参阅下面的“我的文件中有不同的 EOL,我该怎么办?”和“我不关心我的文件使用什么 EOL,我该怎么办?”)。
- 您可以
清除“替换为”
启用“正则表达式”
点击“全部替换”
笔记:
以上假设文件中的最后一行有一个尾随的 EOL。
以上内容还假设您正在使用 Windows EOL 编辑文本文件
\r\n
。
前:
abc.xyz
abcdef
abc 123.xyz
abc 123def
后:
abc.xyz
abc 123.xyz
我的文件中有不同的 EOL,我该怎么办?
Windows EOL 是
\r\n
。如果您使用具有不同 EOL 的文件,您可以使用菜单“编辑”>“EOL 转换”将它们转换为 Windows EOL。
如果您没有使用 Windows EOL,并且不想转换它们,请改用以下命令:
对于 Unix/OS X EOL,请使用
\n
代替\r\n
\r
对于\r\n
Mac OS(最高版本 9)EOL,请使用
我不知道或不关心我的文件使用什么 EOL,我该怎么办?
您可以使用
\R
或(?:\r\n?|\n)
或(?:\r?\n?)
代替\r\n
。这可以解决文件中实际使用的 EOL 的任何问题。您也可以使用
(?:\r?\n?|$)
。如果文件最后一行没有 EOL,则此表达式将起作用。
进一步阅读
答案2
接受的答案是正确的,但你并不总是有正则表达式。所以我提出了一个更简单的解决方案。
- Ctrl+ F– 点击标记标签
- 将“查找内容”设置为
.
- 勾选“书签行”选项(由 Wrass 提供)
- 搜索模式 = 正常
- 单击“标记全部”-> 您应该会看到书签行号旁边有一个蓝色圆圈。
- 然后导航到菜单搜索->书签->删除未标记的行。