0

我在记事本++中有一个表格,我尝试格式化并删除一些数字和点。该表如下所示:

line_a . . 47 34 54 33 44

line_b . . . 43 76 23 44

line_c . . . 32 56 12 34

line_d . 33 87 65 12 23 21

line_e 44 32 76 . . . . 

我想要做的是在每行中查找前三个整数(无论是 - 还是数字)并将它们删除,以便最后得到这张表:

line_a 34 54 33 44

line_b 43 76 23 44

line_c 32 56 12 34

line_d 65 12 23 21

line_e . . . . 

其次,我想查找一条根本没有数字的行(本例中的最后一个)并将其完整删除。

谁能帮我?非常感谢!

4

3 回答 3

1

搜索^([^ ]+)( [^ ]+){3}并将其替换为$1. 这将找到每行没有空格的前四个字符串,并将它们替换为这四个字符串中的第一个。

于 2013-11-03T21:56:44.023 回答
0

转到Search > Replace菜单(快捷键CTRL+ H)并执行以下操作:

  1. 找什么:

    ^(?:[.\d]+\s){3}(?:[ .]+$)?(.*)
    
  2. 代替:

    $1
    
  3. 选择单选按钮“正则表达式”

  4. 然后按Replace All

这将删除前 3 列,同时将完全删除仅点线。您可以对其进行测试,对其进行解释并在regex101查看您的具体示例的结果。

在此处输入图像描述

于 2013-11-03T23:52:41.707 回答
0

搜索^(\s*[^ ]+){3}(.*)$并替换为\2

^-> 行首

(\s*[^ ]+){3}-> 3 组字符串,可能(或不)在它们前面包含空格/制表符。

(.*)$-> 将我们用来替换的组号 2 中的其余行分组($表示行尾)

于 2013-11-03T22:39:25.257 回答