正则表达式命令将字符插入列

时间:2015-05-30 16:41:30

标签: regex sublimetext3

我有一个文本文件组织成如下所示的列:

#                                                v Col 50
EE84           1484.74      1364.99      62.5      2  1  0  1 
EE85           505.23       841.63       60.       2  1  0  1 
EE86           945.95       913.39       100.      1  0  0  0 
P3             972.44       1126.12      100.      1  0  0  0 
P28            980.0        1119.0       100.      1  0  0  0 
P100           964.03       1125.93      100.      1  0  0  0 
P102           963.49       1133.71      100.      1  0  0  0 
P106           974.06       1150.73      100.      1  0  0  0 
P108           1017.36      1062.47      100.      1  0  0  0 
P109           965.31       1151.14      100.      1  0  0  0 

由数百行组成。

我需要在第50列中为文件中的每一行添加一个值,例如0,所以它看起来像这样:

#                                                v Col 50
EE84           1484.74      1364.99      62.5    0  2  1  0  1 
EE85           505.23       841.63       60.     0  2  1  0  1 
EE86           945.95       913.39       100.    0  1  0  0  0 
P3             972.44       1126.12      100.    0  1  0  0  0 
P28            980.0        1119.0       100.    0  1  0  0  0 
P100           964.03       1125.93      100.    0  1  0  0  0 
P102           963.49       1133.71      100.    0  1  0  0  0 
P106           974.06       1150.73      100.    0  1  0  0  0 
P108           1017.36      1062.47      100.    0  1  0  0  0 
P109           965.31       1151.14      100.    0  1  0  0  0

我可以将文件粘贴到LibreOffice Calc中,添加列然后将其粘贴回来,但是这会与列对齐混淆。

我使用Sublime Text 3作为我的文本编辑器,它允许用户应用正则表达式命令。

我可以使用哪个正则表达式命令来执行此操作?

2 个答案:

答案 0 :(得分:3)

使用 Ctrl + H 打开搜索和替换,启用正则表达式

Find What: ^[^#].{48}\K
Replace With: 0

Demo

答案 1 :(得分:2)

您可以使用此正则表达式进行搜索:

/^((?:\S+\s+){49})/gm

替换为此表达式:

"${1}0  "

RegEx Demo