1

我已经用下划线替换了文件名中的所有空格。文件数量约为 800 个。我使用 Replace Pioneer 相同。但问题是我应该如何替换 href 字段中的这些文件名?

4

1 回答 1

1

乍一看,您可能会尝试使用 unix find 和 sed 命令。然而,这样做需要对正则表达式有很强的了解,并且最终可能不仅仅是一个简单的单行。由于您不是简单地替换一个已知字符串并且需要避免替换文件名之外的空格,我建议您通过使用 xml 解析器编写脚本来做到这一点。

如果您要在 Python 中编写这样的脚本,以下是您需要做的基本概述:

1) 导入操作系统ElementTree 库import os和2) 使用 Python 的“ listdir ”或“ globfrom optparse import OptionParser import xml.etree.ElementTree as ET
” 获取您想要修改的 HTML 文件列表。3) 对于每个文件,根据哪些标签包含需要更改的属性,获取全部或标签。例如,您可以像这样获取文件中的所有标签:imgahrefimg

file = ET.parse(filename)
doc = file.getroot()
imgs = doc.findall('.//img')

4) 最后,对于每个imgora标记,将所有空格替换为 tagshref属性中的下划线。

我希望这有帮助。如果我误解了你的问题,请告诉我。此外,可以使用您提到的工具或类似工具来解决此问题,尽管我认为这不太可能,并且可能需要大量的正则表达式。

于 2012-12-10T20:24:28.663 回答