删除所有未跟特定数字的行的 CR LF

删除所有未跟特定数字的行的 CR LF

我有 14000 多行数据库,我想用 Notepad++ 编辑它们。所有这些行都应以 1000 开头,因此我想删除那些不是以 1000 结尾的行末尾的 CR LF。

例如这个

1000    16  04000 CRLF  
sdfsdf 15 sdf de 05550 CRLF  
1000    16  04000 CRLF  
1000    16  04000 CRLF  
5. sdkfd dksds 16 0555 CRLF  
10/10/14 sdfsdf CRLF  

应该之后查找和替换看起来像

1000    16  04000 sdfsdf 15 sdf de 05550 CRLF  
1000    16  04000 CRLF  
1000    16  04000 5. sdkfd dksds 16 0555 10 sdfsdf CRLF  

我曾尝试过

  • 找什么:\r\n([^1000])
  • 替换为:(_\1 “_”表示“空格”)

但是,这似乎无法删除以数字开头的行(例如 5. 或 10/10/14)。是否可以只使用一个 RegEx 来查找并删除所有后面不是 1000 的换行符?

答案1

  • Ctrl+H
  • 找什么:\R(?!1000\b|\z)
  • 替换为:#一个空格
  • 检查环绕
  • 检查正则表达式
  • Replace all

解释:

\R              # any kind of linebreak (i.e. \r, \n, \r\n)
(?!             # start negative lookahead, make we haven't after
    1000\b      # 1000 with a word boundary
  |             # OR
    \z          # end of page
)               # end lookahead

给定示例的结果:

1000    16  04000 sdfsdf 15 sdf de 05550
1000    16  04000
1000    16  04000 5. sdkfd dksds 16 0555 10/10/14 sdfsdf

屏幕截图:

在此处输入图片描述

答案2

使用正则表达式替换:

^1000imcrazypotato136476424735746

*\r\nspace

imcrazypotato136476424735746\r\n1000


在一个正则表达式中:

(\r\n1000)|(\r\n)space$1

不要问我这个是如何工作的。

相关内容