如何删除 使用Java? 最佳答案 一个简单的解决方案是使用 -6ren">
gpt4 book ai didi

java - 删除 <!-- 和//--> 之间的内容

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

我有一个文本文件,它是将 HTML 解析为纯文本文件的结果。我需要删除类似于 XHTML 注释的内容,如下所示:

<!--
if (!document.phpAds_used)
document.phpAds_used = ',';
phpAds_random = new String
(Math.random()); phpAds_random =
phpAds_random.substring(2,11);
document.write ("<" + "script
language='JavaScript'
type='text/javascript' src='");
document.write
("http://www.writers.net/Openads/adjs.php?n="
+ phpAds_random); document.write ("&what=zone:5&target=_blank");
document.write ("&exclude=" +
document.phpAds_used); if
(document.referrer) document.write
("&referer=" +
escape(document.referrer));
document.write ("'><" + "/script>");
// -->

如何删除 <!-- 之间的任何内容和//-->使用Java?

最佳答案

一个简单的解决方案是使用 String.replaceAll()方法。

例如,类似以下代码应该可以工作:

String x = "wow <!-- // --> zip, here's <!-- comment here //--> another one";
x = x.replaceAll("<!--.*?//\\s*-->", "");
System.out.println(x); // prints out "wow zip, here's another one"

\\s* 不匹配任何空格或匹配多个空格,因为您的示例有空格,但您的描述没有。 .*? 使其成为非贪婪匹配,因此它将匹配第一个 //-->

如果您一遍又一遍地运行此操作,您可以使用Pattern 来代替,并为您正在处理的每个 block 重新生成匹配器:

Pattern.compile("<!--.*?//\\s*-->").matcher(x).replaceAll("")

关于java - 删除 &lt;!-- 和//--> 之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747872/

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