删除栏“|”后包含特定数字的每一行

remove every line that contains certain number after bar "|"

我有这样的表格:

12345678|123|123|123|123|
12345678|12|123|123|123|
12345678|123|123|123|123|
12345678|12|123|123|123|

以 8 个随机数 | 开头,后跟 2 个数字,有时是 3 个。

如何删除每个 line/full 包含 8 个数字并在其后跟三个数字的行。

得到最终结果:

12345678|12|123|123|123|
12345678|12|123|123|123|

在 notepad++ 或任何高级文本编辑器中,您可以使用称为 regex 或正则表达式的东西

Ctrl+H 打开替换菜单

^(?=[0-9]{0,9})........(?=[0-9]{3,3})*....(?=\|).*

输入:

12345678|123|123|123|123|
12345678|12|123|123|123|
12345678|123|123|123|123|
12345678|12|123|123|123|

输出:

12345678|12|123|123|123|

12345678|12|123|123|123|

要删除换行符,您可以使用此

/((\r\n|\n|\r)$)|(^(\r\n|\n|\r))|^\s*$/gm

最终输出:

12345678|12|123|123|123|
12345678|12|123|123|123|
  • Ctrl+H
  • 查找内容:^\d{8}\|\d\d\d\|.+$\R?
  • 替换为:LEAVE EMPTY
  • 检查 环绕
  • 检查 正则表达式
  • 取消选中 . matches newline
  • 全部替换

解释:

^           # beginning of line
\d{8}       # 8 digits
\|          # a pipe
\d\d\d      # 3 digits
\|          # a pipe
.+          # 1 or more any character but newline
$           # end of line
\R?         # any kind of linebreak, optional

截图(之前):

截图(之后):