【问题标题】: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++ 的原因是这不是一个原始文件,并且它经过了一些格式化(删除所有不包含“Регион -”的行),所以如果所有都可以在一个地方完成会更容易。

【问题讨论】:

    标签: regex replace formatting 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 All
      TextFX > TextFX Edit > Delete Blank Lines
      TextFX > 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++ 中删除第一列:

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

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

          参考:@987654321@

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-07-18
              • 2014-05-13
              • 1970-01-01
              • 1970-01-01
              • 2016-05-07
              • 2011-04-26
              • 2015-12-21
              相关资源
              最近更新 更多