在Notepad ++中,如何找到第n个字符串

时间:2012-01-14 17:05:42

标签: regex notepad++

我有一个巨大的文本文件,其中记录由字符串MSH标识。

我需要找到第200条记录。我希望我可以在Notepad ++中使用正则表达式,这样我就可以找到第200个字符串MSH。

2 个答案:

答案 0 :(得分:9)

如果您的文件只是由字符串“MSH”分隔的巨大单行,您可以在正则表达式查找中使用它。

但是,请确保您的光标位于文件的开头,否则它只会从您开始的位置搜索 next 第200条记录!

查找

  

(适用(。*?)MSH){199}

这应该突出显示前199条记录,因此下一条未突出显示的记录是第200条记录。


或者,再进一步了! 再次,在正则表达式中查找替换,再次确保您的光标位于文件的开头。

查找

  

(适用(。*?)MSH){199}((。*?)MSH {1})*

替换:

  

<强> $ 3'/强>

应该仅使用第200条记录替换窗口的全部内容。

N.B:这假定字符串“MSH”不是文件中任何记录的一部分。


作为一个脚注,我强烈怀疑任何这个都是快速的大文件。脚本几乎肯定是更好的选择。或者甚至可能将其放入Excel并使用文本到列。

答案 1 :(得分:0)

在第200次MSH发生后放置光标

^(.*?MSH){200}\K

enter image description here