【问题标题】:selective search & replace of text string in many HTML-Docs在许多 HTML 文档中选择性搜索和替换文本字符串
【发布时间】:2011-03-23 12:21:55
【问题描述】:

我有许多 html 文档需要在每个文档的两个特定区域 (400+) 中选择性地替换 <br /> 标记。 我想知道如何实现这个目标,需要帮助。

在每个 HTML 文档中,<br />-tag 只需在 html-tag 内替换:
<span property="dc:description" content="xyz1,<br /> xyz2,<br /> xyz3"/>
以及<br />inside alt="-tag 的所有出现,例如 html-tag
<img src="xyz.jpg" alt="uvw1,<br />uvw2" />)

在 HTML 文档的所有其他区域中,<br />-标签必须保持不变。

...我对此进行了更多思考,并认为可以借助脚本或配备启动和停止信号的功能来解决上述问题。这样,脚本就知道在哪个位置开始查找<br />-tag 并将其替换为给定的文本字符串,并且还知道在哪里停止。然后转到在编辑器中打开或位于给定文件夹中的文档中的下一个实例。

恐怕我自己写不出这样的剧本。 希望有人可以就如何最好地实现这一点提供反馈,
谢谢。

操作系统:Win7-64,编辑器:记事本++

【问题讨论】:

    标签: html query-string replace


    【解决方案1】:

    假设您的 HTML 文件不是很大,我认为您不需要为此编写脚本。

    你可以:

    1. 将文件合并在一起。
    2. 在 Notepad++ 中使用正则表达式替换。为此,您需要将<span([^/]*)<br />(.*)"/> 替换为<span\1NEWTAG\2"/>,其中NEWTAG 是您想要替换<br /> 的任何内容。请注意,这只会替换它每次找到的第一个<br />,因此您需要执行几次,直到它找不到更多。因此,如果您要替换为包含 <br /> 本身的文本(我怀疑它的声音),您需要稍微修改一下。
    3. 将文件拆分为原始文件。

    就我个人而言,我只会编写一个 Python 脚本,因为它非常擅长字符串操作。但我不知道这是否在你的范围内。

    【讨论】:

    • 感谢回复 1. 将文件合并在一起是不可行的
    • 2.标签仍然存在,只需要在标签内替换 BR。这是你的代码所暗示的吗?我需要在搜索字段中插入什么,在替换字段中插入什么?抱歉,我不太明白。
    • replace with NEWTAG 在第一次运行中有效,但在第二次运行中无效。需要什么修改?
    • 好的,通过选择选项卡“在文件中查找”然后“在文件中替换”,它可以与 Notepad++ 一起正常工作。必须多次应用到达替换术语,直到找到 0 次出现。谢谢@melkamo,这已经解决了。
    • @snahl:很高兴它成功了。我以前从未注意到“在文件中替换”功能 - Notepad++ 继续令人惊讶。
    猜你喜欢
    • 1970-01-01
    • 2020-05-12
    • 2023-02-02
    • 2017-01-06
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多