删除记事本++中的第一列

Posted

技术标签:

【中文标题】删除记事本++中的第一列【英文标题】:Delete the first column in Notepad++ 【发布时间】:2014-01-06 18:18:05 【问题描述】:

我有这个文件:

 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 和正则表达式尝试了一些东西,但我似乎总是只删除整行。

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

用宏可以很有趣。【参考方案2】:

在 notepad++ 中尝试这个正则表达式替换:

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

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

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

【讨论】:

【参考方案3】:

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

先删除第一列

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

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

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

   查找内容:     (.*KeepLinesWithThisString.*) 替换为:ZZZ\1

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

我们知道不带前缀的字符串将以数字或空格开头,所以这会将这些行空白

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

第 3 步 - 删除前缀

   查找内容:     ^ZZZ(.*) 替换为:\1

第 4 步 - 删除空白行

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

【讨论】:

【参考方案4】:

这里有一个方法:

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

【讨论】:

这不适用于第一个,不是吗?它们的初始数字只有三位数。 @DarrenCrabb 这将适用于第一个。 .5 匹配 5 个任意字符(换行符除外),但 ^ 仅匹配输入的最开头(除非启用了多行模式)。 是的,但我认为 5 意味着它必须是五个字符...。第一组行只有四个字符要替换,而不是 5 个。 @DarrenCrabb 空格算作字符 抱歉...我没有发现第一个数字之前的空格。【参考方案5】:

尝试搜索这个:

"^[ 0-9]6"

(不带引号)

并将其替换为:

""

(不带引号)

【讨论】:

【参考方案6】:

在 Notepad++ 中删除第一列:

    选择要删除的列:Alt+Drag 用于剪切:Alt+X

通过这种方式,您可以一次删除任意列或多列。

参考:@987654321@

【讨论】:

【参考方案7】:

另一种方法,先修剪前导空格Edit->Blank Operations->Trim Leading Space。 然后搜索^\d+,替换为空。然后再次修剪。这可能是更多的步骤,但这是一种方式。

【讨论】:

以上是关于删除记事本++中的第一列的主要内容,如果未能解决你的问题,请参考以下文章

listview和简单的记事本操作

[UE4]用.csv作为配置文件

在SQLServer中怎样复制一列数据?

我们如何使用命令提示符和记事本将参数传递给 JAVA 中的 main 函数?

删除 JavaScript 中的按键延迟?

删除记事本++中的重复行