一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java實現從Html文本中提取純文本的方法

Java實現從Html文本中提取純文本的方法

2021-05-04 11:39fjssharpsword Java教程

今天小編就為大家分享一篇Java實現從Html文本中提取純文本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、應用場景:從一份html文件中或從String(是html內容)中提取純文本,去掉網頁標簽;

2、代碼一:replaceAll搞定

?
1
2
3
4
5
6
//從html中提取純文本
public static String StripHT(String strHtml) {
String txtcontent = strHtml.replaceAll("</?[^>]+>", ""); //剔出<html>的標簽
txtcontent = txtcontent.replaceAll("<a>\\s*|\t|\r|\n</a>", "");//去除字符串中的空格,回車,換行符,制表符
return txtcontent;
}

3、代碼二:正則表達式搞定

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//從html中提取純文本
    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的正則表達式{或<script[^>]*?>[\\s\\S]*?<\\/script>
      String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; // 定義style的正則表達式{或<style[^>]*?>[\\s\\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;// 返回文本字符串
    }

4、代碼三:HTMLEditorKit.ParserCallback搞定,Java自帶的類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.util;
import java.io.*;
import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;
public class Html2Text extends HTMLEditorKit.ParserCallback {
     StringBuffer s;
     public Html2Text() {}
     public void parse(Reader in) throws IOException {
     s = new StringBuffer();
     ParserDelegator delegator = new ParserDelegator();
     // the third parameter is TRUE to ignore charset directive
     delegator.parse(in, this, Boolean.TRUE);
     }
     public void handleText(char[] text, int pos) {
     s.append(text);
     }
     public String getText() {
     return s.toString();
     }
     public static void main (String[] args) {
     try {
      // the HTML to convert
         //Reader in=new StringReader("string");   
      FileReader in = new FileReader("java-new.html");
      Html2Text parser = new Html2Text();
      parser.parse(in);
      in.close();
      System.out.println(parser.getText());
     }
     catch (Exception e) {
      e.printStackTrace();
     }
     }
}

以上這篇Java實現從Html文本中提取純文本的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/fjssharpsword/article/details/53467079

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲午夜性春猛交xxxx | 国产精品麻豆 | 久久re这里精品23 | 日韩综合一区 | 欧美成人momandson| 免费看打屁股视频的软件 | 亚洲+欧美+国产+综合 | 青青青青在线视频 | 日韩综合第一页 | 国产午夜精品理论片 | 四虎精品视频在线永久免费观看 | 日韩精品成人 | 女bbbbxxx孕妇 | 免费视频网 | a级黄色视屏 | 日韩免费高清专区 | 日本视频在线观看 | 桃色视频软件 | 国内精品久久久久影院男同志 | 日本精品中文字幕在线播放 | 免费观看日本人成影片 | 香蕉国产成版人视频在线观看 | 俄罗斯图书馆无打码久久 | caoporm碰最新免费公开视频 | 偷偷操不一样 | 日韩成a人片在线观看日本 日韩不卡一区二区 | 亚洲国产精品久久精品成人网站 | 亚洲第9页 | 成人免费淫片95视频观看网站 | 18国产精品白浆在线观看免费 | 国产福利专区精品视频 | 91香蕉视频网址 | 俄罗斯烧性春三级k8播放 | heyzo在线观看 | 99年水嫩漂亮粉嫩在线播放 | 久久精品国产在热亚洲完整版 | 国产精品视频在线观看 | 日本免费精品视频 | 免费日批| 国产乱人乱精一区二区视频密 | 亚洲福利视频一区 |