如何在Notepad ++中的每一行上的特定文本之前删除所有内容?

时间:2017-09-12 16:14:40

标签: regex text replace notepad++

我有一个包含这样一千行的文件:

   N'AN2ID',N'Best。 Fluorid premium(EL)AN2ID',1,N'AN2ID',N'',0,0,   0,N'Anorganik Messlabor 1(EG 36) - IC',NULL,N'IRCode',0,0,0,0,   NULL,NULL,NULL,NULL,N'987b57da-dc85-4e5c-a36a-e40829ccc0e0',   N'IonenC',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL)

     

N'WE811M018',N'Abf。 EOX',1,N'',N'',0,0,0,   N'Feststoff-Probenvorbereitung',NULL,N'IRCode',0,1,0,0,NULL,   N'e71f44e4-dff2-4d3a-8a64-655eeb16e1ff',NULL,NULL,   N'987b57da-dc85-4e5c-a36a-e40829ccc0e0',N'FS-PV',0,0,0,NULL,   NULL,NULL,NULL,NULL,NULL)

     

N'EW-EOX-FS',N'Extraktion EOX FS(ohne Vortest)',1,N'',N'',0,0,   0,N'Probenaufarbeitung Lipophile Stoffe',NULL,N'IRCode',0,0,0,   0,NULL,N'2f49c200-a06e-472d-94ca-e5a37eaceee7',NULL,NULL,   N'987b57da-dc85-4e5c-a36a-e40829ccc0e0',N'LiposEOX',0,0,0,NULL,   NULL,NULL,NULL,NULL,NULL)

在每行上,我想删除之前的所有文字:“0,0,0,N'XXX'”

例如,在第一行,N'', 0, 0, 0, N'Anorganik Messlabor 1 (EG 36) - IC'之前的所有文字都是N'AN2ID', N'Best. Fluorid premium (EL) AN2ID', 1, N'AN2ID', N'',

有没有办法用正则表达式做到这一点?

3 个答案:

答案 0 :(得分:2)

  • 控制 + ħ
  • 找到:^.*?(?= 0, 0, 0, N')
  • 替换为:LEAVE EMPTY
  • 全部替换

<强>解释

^               : stat of line
.*?             : 0 or more any character but newline, not greedy
(?=             : start lookahead
   0, 0, 0, N'  : literally
)               : end lookahead
  • 检查匹配案例
  • 检查环绕
  • 检查正则表达式
  • 请勿检查. matches newline

给定示例的结果:

 0, 0, 0, N'Anorganik Messlabor 1 (EG 36) - IC', NULL, N'IRCode', 0, 0, 0, 0, NULL, NULL, NULL, NULL, N'987b57da-dc85-4e5c-a36a-e40829ccc0e0', N'IonenC', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL)

 0, 0, 0, N'Feststoff-Probenvorbereitung', NULL, N'IRCode', 0, 1, 0, 0, NULL, N'e71f44e4-dff2-4d3a-8a64-655eeb16e1ff', NULL, NULL, N'987b57da-dc85-4e5c-a36a-e40829ccc0e0', N'FS-PV', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL)

 0, 0, 0, N'Probenaufarbeitung Lipophile Stoffe', NULL, N'IRCode', 0, 0, 0, 0, NULL, N'2f49c200-a06e-472d-94ca-e5a37eaceee7', NULL, NULL, N'987b57da-dc85-4e5c-a36a-e40829ccc0e0', N'LiposEOX', 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL)

答案 1 :(得分:1)

你可以这样做:

查找: ^.*?(0, 0, 0, N'.*)
替换: $1

清除该框:.匹配换行符。

答案 2 :(得分:1)

可以用这个

完成

查找(?m-s)^.+?(?=0,\s*0,\s*0,\s*N'[^'\r\n]*')
什么都不用。

https://regex101.com/r/rSEKAn/2