在Java中轻松将HTML格式文本转换为纯文本的方法示例(保留换行)

 更新时间:2020年04月14日 14:48:38   作者:Piconjo_Official  
这篇文章主要介绍了在Java中轻松将HTML格式文本转换为纯文本的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

第一步:引入Jsoup和lang和lang3的依赖:

Jsoup是HTML解析器
lang和lang3这两个包里有转换所需的工具类

<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.11.3</version>
</dependency>
<dependency>
	<groupId>commons-lang</groupId>
	<artifactId>commons-lang</artifactId>
	<version>2.6</version>
</dependency>
<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-lang3</artifactId>
	<version>3.4</version>
</dependency>

第二步:直接使用即可:

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.safety.Whitelist;

/**
 * @author Piconjo
 */
public class Html2PlainText {
  public static String convert(String html)
  {
    if (StringUtils.isEmpty(html))
    {
      return "";
    }

    Document document = Jsoup.parse(html);
    Document.OutputSettings outputSettings = new Document.OutputSettings().prettyPrint(false);
    document.outputSettings(outputSettings);
    document.select("br").append("\\n");
    document.select("p").prepend("\\n");
    document.select("p").append("\\n");
    String newHtml = document.html().replaceAll("\\\\n", "\n");
    String plainText = Jsoup.clean(newHtml, "", Whitelist.none(), outputSettings);
    String result = StringEscapeUtils.unescapeHtml(plainText.trim());
    return result;
  }
}

使用测试:


到此这篇关于在Java中轻松将HTML格式文本转换为纯文本的方法示例(保留换行)的文章就介绍到这了,更多相关Java HTML转换为纯文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论