我喜欢搜索stack <"sometag"> overflow</"sometag">
之类的内容
并替换为stack <"sometag">underflow</"sometag">
它是大型html文本的一部分,我喜欢用Java来实现(我可以使用的服务器端技术有一些限制)。我搜查并发现这篇文章: How to find/replace text in html while preserving html tags/structure
其中一个答案建议使用特殊标记进行标记,生成纯文本然后使用正则表达式。最后取消标记并将字符串返回到html。但它假定字符串出现在文本中的给定位置。我无法知道字符串的位置以及重复的次数。
当然,直接使用正则表达式搜索和替换是不合适的,因为我需要保留html标记。
提前致谢!
答案 0 :(得分:1)
我有点担心使用regexp来更改HTML文件。太多事情都会出错。
您的HTML文件是否符合XML标准? (例如,XHTML?)。 在这种情况下,您可能最好使用XSL或基于查询的解析器进行XML级别转换。
答案 1 :(得分:1)
看一下http://jsoup.org/它会用标签做各种各样的事情。