gpt4 book ai didi

java - 如何使用 Java 解析 Html 并获取字符串形式的结果

转载 作者:行者123 更新时间:2023-12-01 11:44:40 26 4
gpt4 key购买 nike

我想解析 Html 并获取字符串形式的结果。鉴于外部 Html 的主体包含另一个 Html 字符串,我希望该内部 Html 作为输出字符串。

示例> 输入 HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head></head><body><p>&lt;!DOCTYPE html&gt;<br />&lt;html&gt;<br />&lt;body&gt;<br /><br />&lt;h1&gt;My First Heading&lt;/h1&gt;<br /><br />&lt;p&gt;My first paragraph.&lt;/p&gt;<br /><br />&lt;/body&gt;<br />&lt;/html&gt;<br /><br /></p></body></html>

输出字符串:

<!DOCTYPE html><html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>

重要提示:我正在使用 HTML 编辑器,如果我在其中输入某些内容,它会在执行 getText 时返回该输入的 HTML 表示,上面的第一个 Html 字符串只是该表示。

此外,输出字符串应该与我在此处运行第一个字符串时相同(http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic)

请帮我解决这个问题。

最佳答案

我会使用一些正则表达式:

(<!DOCTYPE html>).*(<html>.*</html>).+

并取第 1 组和第 2 组,

    tst = tst.replaceAll("<", "<").replaceAll(">",">");
Pattern p = Pattern.compile("(<!DOCTYPE html>).*(<html>.*</html>).*</html>.*");
Matcher m = p.matcher(tst);
m.find();
System.out.println(m.group(1) + m.group(2));

运行示例: http://rextester.com/JTOJ89529

关于java - 如何使用 Java 解析 Html 并获取字符串形式的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29252787/

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