如何在 Notepad++ 或 Python 中删除 : if value is >5 之后的行

如何在 Notepad++ 或 Python 中删除 : if value is >5 之后的行

希望有人能帮忙。我试图删除任何包含 5 个或更少字符的字符串:

例如 :

test:test
test:test12 (would be the only line kept)
cobra:abcd

我已经尝试使用 notepad++ 花了几个小时来解决这个问题,因为我刚刚学习 python,我遇到了困难,非常感谢任何帮助。

答案1

:我假设我们需要计算从 到 行末的所有字符。

使用“查找”对话框的“标记”选项卡来全部标记使用正则表达式:

:(.+){6,}

这将标记您希望保留的所有行,其中 后面至少有 6 个字符:。目视检查没有错误。

然后使用菜单项搜索 > 书签 > 删除未标记的行

答案2

在 Notepad++ 替换对话框中,使用正则表达式,^[^:]*:.{0,5}$如下所示:

Notepad++ 替换对话框

此正则表达式将匹配字符的第一个实例:,并忽略字符串中后续出现的任何字符。

如果要删除整行:

  • 如果没有需要保留的空行,请使用EditLine OperationsRemove Empty Lines

  • 如果您确实有需要保留的空行,请使用^[^:]*:.{0,5}\r?\n。这在最后一行不起作用,因为最后一行没有换行符。要使用此功能,您还需要选中. matches newline“正则表达式”单选按钮旁边的选项。

相关内容