java将富文本字符串(HTML)转为文本(Text)
2017-11-20 17:58
204 查看
话不多说,直接上代码:
代码是网上copy过来的,稍微修改为接受字符串,并在内部写了一个极其简陋的单例,使用的是java的api,效果极其的好,比起网上使用正则表达式替换来得快,正确性也比较高,我试过用网上正则的,都是不太理想,情况复杂点的,都挂了。
使用方式如下:
import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.parser.ParserDelegator; public class Html2Text extends HTMLEditorKit.ParserCallback { private static Html2Text html2Text = new Html2Text(); StringBuffer s; public Html2Text() { } public void parse(String str) throws IOException { InputStream iin = new ByteArrayInputStream(str.getBytes()); Reader in = new InputStreamReader(iin); s = new StringBuffer(); ParserDelegator delegator = new ParserDelegator(); // the third parameter is TRUE to ignore charset directive delegator.parse(in, this, Boolean.TRUE); iin.close(); in.close(); } public void handleText(char[] text, int pos) { s.append(text); } public String getText() { return s.toString(); } public static String getContent(String str) { try { html2Text.parse(str); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return html2Text.getText(); } }
代码是网上copy过来的,稍微修改为接受字符串,并在内部写了一个极其简陋的单例,使用的是java的api,效果极其的好,比起网上使用正则表达式替换来得快,正确性也比较高,我试过用网上正则的,都是不太理想,情况复杂点的,都挂了。
使用方式如下:
String text = Html2Text.getContent("你的富文本字符串");
相关文章推荐
- JAVA HTML字符串转文本 自测通过
- java操作 html 转为纯文本 并且保留文本格式
- Java将汉字字符串转为html标示符
- HtmlToText,Html保存段落格式为文本 java版
- 【Java】大文本字符串滤重的简单方案
- HTML超出文本显示省略号...[text-overflow]
- Windows下python发送邮件_CustomEmail.py[text、html、附件、读取文本到正文]
- Android(java)学习笔记139:在TextView组件中利用Html插入文字或图片
- Java 字符串或字符串数组转为 List
- Java中将字符串转为日期
- Java正则去除文本中的HTML标签
- 16进制颜色(html颜色值)字符串转为UIColor【RGB】
- Android中Textview显示带html文本二-------【Textview显示本地图片】
- jQuery获取文本节点之 text()/val()/html() 方法区别
- Android(Java):在textview中显示富文本
- Android中Textview显示带html文本…
- java 正则匹配提取html纯文本
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- Android中Textview显示带html文本-------【HTML标签】
- java文章显示内容部分(将html转成纯文本)