Java实现从Html文本中提取纯文本的方法 在本文中,我们将介绍Java实现从Html文本中提取纯文本的方法。提取纯文本是指从Html文档中去掉所有的Html标签,只保留原始的文本内容。这种技术在实际应用中非常有用,例如从网页中提取文章内容、从Html邮件中提取正文等。 应用场景: 1. 从Html文件中提取纯文本 2. 从String(Html内容)中提取纯文本 代码一:使用replaceAll方法提取纯文本 public static String StripHT(String strHtml) { String txtcontent = strHtml.replaceAll("</?[^>]+>", ""); // 剔除 Html 标签 txtcontent = txtcontent.replaceAll("<a>\\s*|\t|\r|\n</a>", "");// 去除字符串中的空格,回车,换行符,制表符 return txtcontent; } 代码二:使用正则表达式提取纯文本 public static String Html2Text(String inputString) { String htmlStr = inputString; // 含Html标签的字符串 String textStr = ""; java.util.regex.Pattern p_script; java.util.regex.Matcher m_script; java.util.regex.Pattern p_style; java.util.regex.Matcher m_style; java.util.regex.Pattern p_html; java.util.regex.Matcher m_html; try { String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; // 定义script的正则表达式 String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; // 定义style的正则表达式 String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式 p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE); m_script = p_script.matcher(htmlStr); htmlStr = m_script.replaceAll(""); // 过滤script标签 p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE); m_style = p_style.matcher(htmlStr); htmlStr = m_style.replaceAll(""); // 过滤style标签 p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE); m_html = p_html.matcher(htmlStr); htmlStr = m_html.replaceAll(""); // 过滤html标签 textStr = htmlStr; } catch (Exception e) { System.err.println("Html2Text: " + e.getMessage()); } // 剔除空格行 textStr = textStr.replaceAll("[ ]+", " "); textStr = textStr.replaceAll("(?m)^\\s*$(\\n|\\r\\n)", ""); return textStr; // 返回文本字符串 } 代码三:使用HTMLEditorKit.ParserCallback提取纯文本 package com.util; import java.io.*; import javax.swing.text.html.*; import javax.swing.text.html.parser.*; public class Html2Text { // ... } 通过这三种方法,我们可以轻松地从Html文本中提取纯文本。无论是从Html文件中还是从String中,我们都可以使用这些方法来获取原始的文本内容。
- 粉丝: 6
- 资源: 950
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip