gpt4 book ai didi

java - 替换 HTML 文件中的特定字符串

转载 作者:行者123 更新时间:2023-12-01 13:43:58 25 4
gpt4 key购买 nike

我需要翻译一些 HTML 页面内容。我有很多 HTML 文档作为文件列表和带有如下翻译的 map :

List<File> files
Map<String, String> translations

仅需要翻译特定标签(p、h1..h6、li)中的字符串。我希望最终得到与开始时相同的文件,但替换了字符串。

两种不起作用的解决方案:

  1. 替换 - 因为我不想翻译注释内或 JavaScript 中的字符串,所以另一个问题是带有原始文本的一个字符串可能是另一个带有原始文本的字符串的一部分。
  2. 像 Jsoup 这样的解析库 - 因为它可以清理、修复 dom 结构,并且我希望拥有未修改的 HTML 结构。

有什么解决办法吗?

最佳答案

您几乎必须使用适当的 html 解析器(它修复 dom 结构),因为否则无法判断元素在哪里开始和在哪里结束。有各种各样的特殊情况和不同类型的损坏的 html,如果您想处理所有这些,那么您基本上是在实现一个完整的 html 解析器。

我能想到的唯一其他方法(也是经常使用的)是在原始文件中使用占位符,例如 <h1>${title}</h1> <p>${introduction}</p>等,然后直接查找并替换它们,但我想如果您还没有这种形式的文件,那么需要做大量的工作来更改文件。

关于java - 替换 HTML 文件中的特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com