删除Notepad ++中的第一列

时间:2013-12-18 14:08:55

标签: regex replace formatting notepad++

我有这个文件:

 206  06:06:00.00   X               "Регион -2.00"                   00:02:00.00                    
 282  06:50:00.00   X               "Регион -1.00"                   00:01:00.00                    
 353  07:27:00.00   X               "Регион -1.00"                   00:01:00.00                    
 435  08:20:00.00   X               "Регион -1.00"                   00:01:00.00                    
 482  08:39:00.00   X               "Регион -1.00"                   00:01:00.00                    
 521  09:16:00.00   X               "Регион -1.00"                   00:01:00.00                    
 667  10:42:00.00   X               "Регион -2.00"                   00:02:00.00                    
 896  12:54:00.00   X               "Регион -1.30"                   00:01:30.00                    
1003  13:57:00.00   X               "Регион -1.30"                   00:01:30.00                    
1154  15:29:00.00   X               "Регион -2.00"                   00:02:00.00                    
1272  16:23:00.00   X               "Регион -1.00"                   00:01:00.00                    
1309  16:57:00.00   X               "Регион -1.30"                   00:01:30.00                    
1401  17:49:00.00   X               "Регион -2.00"                   00:02:00.00                    
1434  18:07:00.00   X               "Регион -2.00"                   00:02:00.00                    
1514  18:43:00.00   X               "Регион -2.00"                   00:02:00.00                    
1581  19:19:00.00   X               "Регион -1.30"                   00:01:30.00                    
1846  21:52:00.00   X               "Регион -1.30"                   00:01:30.00                    
1918  22:26:00.00   X               "Регион -1.00"                   00:01:00.00                    
1963  22:46:00.00   X               "Регион -1.00"                   00:01:00.00    

在非4位数字之前有空格,例如第一行"206"实际上就像" 206"

一样开始

我需要摆脱第一列,所以我只需要

06:06:00.00 X "Регион -2.00" 00:02:00.00

表示第一行,依此类推。

我尝试了 Ctrl + H 和regexp,但我似乎总是删除整行。

如果您有其他解决方案而不是Notepad ++,他们也会这样做。我选择Notepad ++的原因是它不是原始文件,而是通过一些格式化(删除所有不包含“Регион - ”的行),所以如果一切都可以在一个地方完成它会更容易。

7 个答案:

答案 0 :(得分:14)

使用 Alt + Shift +导航键,或 Alt + Shift +点击进行块选择那个专栏。然后只需按 Del

答案 1 :(得分:4)

在notepad ++中尝试使用此正则表达式替换:

search: ^\s*[0-9]+\s+
replace: nothing

如果您想同时删除所有不包含'Регион - 的行,您可以将模式更改为:

search: ^(?!.*Регион -).*\r?\n?|^\s*[0-9]+\s+

答案 2 :(得分:3)

此答案将删除第一列,并删除不包含搜索字符串的行。

首先删除第一列

找到:^[ 0-9]+\s+(.*)
替换为:\1

接下来删除不包含所需字符串的行。这有点难,因为Notepad ++使用的正则表达式引擎不允许使用not运算符,因此(?!...)选项不起作用。相反,你必须分多步完成。

第1步 - 为包含您要保留的内容的行添加前缀

找到:(.*KeepLinesWithThisString.*)
替换为:ZZZ\1

第2步 - 删除不以该前缀开头的行。

我们知道没有前缀的字符串将以数字或空格开头,因此这将删除这些行

找到:^[ 0-9]+\s+(.*)
替换为:(nothing / leave blank)

第3步 - 删除前缀

找到:^ZZZ(.*)
替换为:\1

第4步 - 删除空行

突出显示文档的所有文本。 ctrl + a Edit > Select All
TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines

答案 3 :(得分:1)

这是一种方法:

search what: ^.{5}
replace with: 'nothing'

答案 4 :(得分:1)

尝试搜索:

"^[ 0-9]{6}"

(不含引号)

并将其替换为:

""

(不含引号)

答案 5 :(得分:1)

删除Notepad ++中的第一列:

  1. 对于selcect要删除的列:Alt + Drag
  2. 对于剪切:Alt + X
  3. 通过这种方式,您可以一次删除任何列或多个列。

    参考:https://www.youtube.com/watch?v=1p7rMCGt_30&hd=1

答案 6 :(得分:0)

另一种方法是,先修剪前导空格Edit->Blank Operations->Trim Leading Space
然后搜索^\d+,不进行任何替换。然后再次修剪。可能还需要一些步骤,但这是一种方法。