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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩精品一区二区三区高清视频 | www.87福利| 午夜福利试看120秒体验区 | 国内自拍网红在线综合 | 91探花在线观看 | 四虎精品成人免费观看 | zoo性欧美| 国产精彩对白综合视频 | 国内精品视频免费观看 | 国产亚洲欧美日韩综合综合二区 | a级特黄毛片免费观看 | 午夜无码国产理论在线 | 九九免费精品视频 | 男人猛戳女人下部30分钟 | 兽操人| 四虎私人影院 | 调教女警花穿环上班 | 国产成人精品系列在线观看 | 性一交一无一伦一精一品 | 亚洲成色www久久网站 | 亚欧成人中文字幕一区 | 成年美女黄网站色视频大全免费 | 高h喷水荡肉爽文np肉色文 | 白丝h视频 | 国产亚洲精品一区二区在线观看 | 国产高清在线播放免费观看 | xvideo日本| 白丝爆动漫羞羞动漫网站 | 国产一区二区三区水野朝阳 | 久久无码人妻中文国产 | 亚洲 制服 欧美 中文字幕 | 久久观看视频 | 国产福利一区二区三区四区 | 国产在视频线精品视频 | 香蕉 在线播放 | 亚洲区精品久久一区二区三区 | 护士柔佳 | 超级碰碰青草免费视频92 | 俄罗斯女人与公拘i交酡 | 亚洲乱码一二三四五六区 | 古装一级无遮挡毛片免费观看 |