如何从大记事本文本文件中提取某些列?

asd*_*asd 0 notepad

我有一个大文本文件,其中的数据有5列,但我只需要第一列和最后一列.

如果我想从这里逐个输入这两列的数据到另一个文件,可能需要很多天,可能还有错误.有没有快速的方法来做到这一点?例如:

     1   1.0000000000000000         0.0000000000 S {0}
     2   1.5000000000000000         0.3010299957 C {2}
     3   1.7500000000000000         0.6020599913 S {0,2}
     4   2.0000000000000000         0.7781512504 C {3}
     5   2.3333333333333333         1.0791812460 C {3,2}
     6   2.5000000000000000         1.3802112417 S {3,0,2}
     7   2.5277777777777778         1.5563025008 S {0,3}
     8   2.5833333333333333         1.6812412374 S {3,0,0,2}
     9   2.8000000000000000         1.7781512504 C {5,2}
    10   3.0000000000000000         2.0791812460 C {5,0,2}
Run Code Online (Sandbox Code Playgroud)

我需要第一列(编号)和最后一列{}.

小智 6

ALT+ Left Mouse Click使您进入列模式选择.这是一个非常有用的快捷方式,可以帮助你.

  • 这是迄今为止最简单的解决方案。复制文件,编辑副本,剪掉不需要的列。 (2认同)

cri*_*fan 5

在Notepad ++中,您可以使用正则表达式进行替换:

查找和替换的正则表达式是:

^( +\d+).+\{([\d,]+)\}$

\1 \2

在此输入图像描述

那么可以改变:

 1   1.0000000000000000         0.0000000000 S {0}
 2   1.5000000000000000         0.3010299957 C {2}
 3   1.7500000000000000         0.6020599913 S {0,2}
 4   2.0000000000000000         0.7781512504 C {3}
 5   2.3333333333333333         1.0791812460 C {3,2}
 6   2.5000000000000000         1.3802112417 S {3,0,2}
 7   2.5277777777777778         1.5563025008 S {0,3}
 8   2.5833333333333333         1.6812412374 S {3,0,0,2}
 9   2.8000000000000000         1.7781512504 C {5,2}
10   3.0000000000000000         2.0791812460 C {5,0,2}
Run Code Online (Sandbox Code Playgroud)

至:

     1 0
     2 2
     3 0,2
     4 3
     5 3,2
     6 3,0,2
     7 0,3
     8 3,0,0,2
     9 5,2
    10 5,0,2
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果不想要领先的空间,那么使用:

^( +\d+).+\{([\d,]+)\}$

\1 \2

将改为:

1 0
2 2
3 0,2
4 3
5 3,2
6 3,0,2
7 0,3
8 3,0,0,2
9 5,2
10 5,0,2
Run Code Online (Sandbox Code Playgroud)