如何删除 Notepad++ 中除第 4 列带有冒号的行之外的所有行?

如何删除 Notepad++ 中除第 4 列带有冒号的行之外的所有行?

我有一个非常长的文本文件data:data:data,我试图将其缩减为仅在第一个冒号前包含 3 个字符的数据,这样它就会像xxx:data:data每一行一样,同时仍保留第一个冒号后的数据。

从:

xxx:data:data
xxxxxx:data:data
xxxxx:data:data
xxx:data:data

到:

xxx:data:data
xxx:data:data

答案1

  • Ctrl+H
  • 找什么:^[^:]{4,}.*\R?
  • 用。。。来代替:LEAVE EMPTY
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

^           # beginning of line
[^:]{4,}    # 4 or more any character that is not colon
.*          # 0 or more any character 
\R?         # any kind of llinebreak, optional

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

首先,你必须标记第四列中包含冒号的所有行。

按 Ctrl-F,切换到“标记”选项卡,单击“正则表达式”并\n...:在文本框中输入。确保. matches newline未选中复选框。按“标记”按钮。

在菜单中转到搜索->书签->反向书签。

在菜单中,转到搜索-> 书签-> 删除书签行。

相关内容