使用Notepad ++查找和替换

时间:2010-06-11 11:40:36

标签: html regex replace find notepad++

我有一个从PDF转换为HTML的文档,可以在公司网站上使用,以便为搜索引用和索引。我正在尝试格式化转换后的文档以满足我的需要,并且这样做我正在尝试清理从页面编号,页眉和页脚等PDF文件中删除的一些垃圾。幸运的是,所有这些需要删除的行都是4行的块,不幸的是它们并不完全相同,因此无法通过简单的文字替换来删除。这些行包含与页面相关的增量数字。如何从我的html文件中删除以下示例。

Title<br>
10<br>
<hr>
<A name=11></a>Footer<br>

我尝试了许多不同的正则表达式尝试,但由于我在该领域的技能有限,我无法找到正确的语法。我确定我错过了一些相当容易的东西,因为看起来我需要的是代码中两个数字的通配符替换,其余的是文字。

任何帮助都是适用的

2 个答案:

答案 0 :(得分:1)

搜索&amp;替换npp很奇怪。我找不到具有正则表达式的换行符,尽管文档说:

  

从v4.9开始,Simple find / replace(control + h)已经改变,允许在正则表达式模式和扩展模式下使用\ r \ n和\ t。

我更新到上一个版本,但它不起作用。使用扩展模式可以查找换行符,但我无法指定通配符。

但是,您可以使用来克服此问题。

  • 准备一个搜索,找到一个独特的段落(如Title<br>\r\n,在这里你可以使用扩展模式)
  • 开始录制宏
  • 按F3键进行搜索
  • 标记四行并删除它们
  • 停止录制宏...完成!

只需重播它就会删除你要删除的内容。

答案 1 :(得分:0)

如果我已正确理解您的请求,则此模式与您的字符串匹配:

Title<br>( ?)\n([0-9]+)<br>( ?)\n<hr>( ?)\n<A name=([0-9]+)></a>Footer<br>

我使用the Regex Coach来尝试复杂的正则表达式模式。其他公用事业可用。

修改

由于我不使用Notepad ++,我无法确定此模式是否适合您。如果发生这种情况,请道歉。 (我自己就是TextPad人,它确实可以使用该工具)。