Notepad++ - 从列中选择所有行

Notepad++ - 从列中选择所有行

我有一个非常长的文本文件(大约 15k 行)。它只包含数字(6 个数字,中间用空格隔开)。我只对每行的前三个数字感兴趣。我尝试了列模式选择并将其向下拖动,但是速度非常慢,而且我要处理多个文件。

我也尝试了开始/结束选择技巧,但它似乎不适用于列。

有没有办法自动选择文本文件中最后三列数字?一种方法是选择指定列中的所有行。这可能吗?

答案1

尝试这个:

  1. CTRL+Home将输入光标移动到文档顶部。
  2. 现在,使用滚动条快速滚动到文档底部,而无需更改键入光标的位置。您可以拖动滚动条的滑块部分以快速到达文档底部。速度非常快。
  3. 将鼠标指针移到最后一行的第三个数字之后,按住Alt+Shift并单击。

答对了!

答案2

可以使用以下正则表达式来完成此操作,假设您的数字仅为数字(即没有逗号、小数点):

1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666

CTRL-H 转到查找和替换

Find what: .*\s(\d+\s\d+\s\d+)$
Replace with: \1
Search Mode: Regular expression

对 find 正则表达式的解释:

.*  = match anything, repeating
\s  = match single whitespace
(   = start capture group
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
)   = end capture group
$   = match end of line

替换框:

\1 = capture group 1 from the prior regex match (everything matched between the ( and the ))

这需要几秒钟来替换并留下最后三列数字,即。

4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666

NPP替换框截图:

notepad++ 查找并替换正则表达式

相关内容