删除包含 3 个以上单词的行?

删除包含 3 个以上单词的行?

我正在尝试在 Notepad++ 中删除包含 3 个以上单词的行。我在 Google 上似乎找不到“单词”的表达方式,而且我无法使用“字符数”,因为这不可行。

答案1

在 Notepad++ 中,您可以使用以下正则表达式进行搜索替换:查找内容: ^\S+[ \t]+\S+[ \t]+\S+.*(\r\n)? 替换为:(无)

取消选中“环绕”,搜索模式为“正则表达式”。

解释:

Leading^表示行的开头。

\S匹配非空白字符;因此\S+匹配连续的非空白字符,即单词。

[ \t]+将空格和制表符匹配为单词边界。

.*表示任何字符;我们前面已经有三个单词了,因此我们只需包含所有内容,直到到达新行。

\r\n对于 Windows 文件来说表示新行。

答案2

我可以为此做出贡献吗?正如 Kenneth 所说,\r\n 表示 Windows 文件中的新行。如果您的文件编码为 UTF8(可能现在最常见),则换行符将仅为 \n(而不是 \r\n)。因此 Kenneth 的代码应变为:

^\S+[ \t]+\S+[ \t]+\S+.*(\n)

相关内容