[英]Extract html part from string (include plain text and html part) using java
我有一个来自 email 的输入流,可以像这样转换为字符串:
String content = "Hello world!\n"+
"Thank you!\n"+
"\n"+
"<html>\n" +
"<head>\n" +
"\t<meta id=\"leadId\" name=\"leadId\" content=\"6778130\"/>\n" +
"\t<title>testing</title>\n" +
"</head>\n" +
"<body>\n" +
"\t<span>testing - 20200727</span>\n" +
"</body>\n" +
"</html>"+
"\n" +
"Have a good day!";
我想从这个字符串中提取 HTML 部分,我期望的结果是这样的:
<html>
<head>
<meta id="leadId" name="leadId" content="6778130"/>
<titletesting</title>
</head>
<body>
<span>testing - 20200727</span>
</body>
</html>
我之前尝试过 Jsoup,但它对我不起作用。 有谁知道其他解决方案吗? 我可以为它使用 javax.mail(输入流本身)吗? 如果是这样,我该怎么做? 你能举个例子吗?
我的方法 - 使用正则表达式来提取您感兴趣的文本。
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
Pattern p = Pattern.compile("<html>.*</html>");
Matcher m = p.matcher(inputString);
String html = m.group();
然后你可以使用JSoup.parse(html);
解析 html 并导航元素。 (如果您想使用 XPath 导航文档,或者使用 HtmlUnit)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.