java富文本转换为纯文本
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(); } }
也就是把富文本里的格式和标签去掉
调用方式:
String text = Html2Text.getContent("你的富文本字符串");
下班记得打卡