我有一个大文本文件,其中的数据有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)
我需要第一列(编号)和最后一列{}.
在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)
| 归档时间: |
|
| 查看次数: |
15973 次 |
| 最近记录: |