最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)從Html文本中提取純文本的方法

 更新時間:2018年05月21日 15:20:05   作者:fjssharpsword  
今天小編就為大家分享一篇Java實現(xiàn)從Html文本中提取純文本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

2、代碼一:replaceAll搞定

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

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

//從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自帶的類

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實現(xiàn)從Html文本中提取純文本的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java interrupt()方法使用實例介紹

    Java interrupt()方法使用實例介紹

    一個線程在未正常結(jié)束之前, 被強制終止是很危險的事情. 因為它可能帶來完全預(yù)料不到的嚴重后果比如會帶著自己所持有的鎖而永遠的休眠,遲遲不歸還鎖等。 所以你看到Thread.suspend, Thread.stop等方法都被Deprecated了
    2023-02-02
  • Java如何在PPT中繪制圖形

    Java如何在PPT中繪制圖形

    這篇文章主要介紹了Java如何在PPT中繪制圖形,Microsoft PowerPoint可支持在幻燈片中插入各種類型的圖形并且可設(shè)置圖形填充、線條顏色、圖形大小、位置等。下面將通過Java編程來演示在PPT中繪制圖形的方法,需要的朋友可以參考下
    2019-07-07
  • 6種SpringBoot解決跨域請求的方法整理

    6種SpringBoot解決跨域請求的方法整理

    跨域資源共享是一種標準機制,允許服務(wù)器聲明哪些源可以訪問其資源,在SpringBoot應(yīng)用中,有多種方式可以解決跨域問題,本文主要介紹了6種常見的解決方案,大家可以根據(jù)需求自行選擇
    2025-04-04
  • Java串口通信入門

    Java串口通信入門

    串口通信是一種用于在計算機和外部設(shè)備之間進行數(shù)據(jù)交換的通信方式,本文主要介紹了Java串口通信入門,并提供一個簡單的示例來演示如何在Java中進行串口通信,感興趣的可以了解一下
    2023-11-11
  • 使用redisTemplate的scan方式刪除批量key問題

    使用redisTemplate的scan方式刪除批量key問題

    這篇文章主要介紹了使用redisTemplate的scan方式刪除批量key問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JDBC操作數(shù)據(jù)庫的增加、刪除、更新、查找實例分析

    JDBC操作數(shù)據(jù)庫的增加、刪除、更新、查找實例分析

    這篇文章主要介紹了JDBC操作數(shù)據(jù)庫的增加、刪除、更新、查找方法,以完整實例形式分析了Java基于JDBC連接數(shù)據(jù)庫及進行數(shù)據(jù)的增刪改查等技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • SpringBoot中Mybatis + Druid 數(shù)據(jù)訪問的詳細過程

    SpringBoot中Mybatis + Druid 數(shù)據(jù)訪問的詳細過程

    Spring Boot 底層都是采用 SpringData 的方式進行統(tǒng)一處理各種數(shù)據(jù)庫,SpringData也是Spring中與SpringBoot、SpringCloud 等齊名的知名項目,下面看下SpringBoot Mybatis Druid數(shù)據(jù)訪問的詳細過程,感興趣的朋友一起看看吧
    2021-11-11
  • Java編程實現(xiàn)比對兩個文本文件并標記相同與不同之處的方法

    Java編程實現(xiàn)比對兩個文本文件并標記相同與不同之處的方法

    這篇文章主要介紹了Java編程實現(xiàn)比對兩個文本文件并標記相同與不同之處的方法,涉及java針對文本文件的讀取、遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 詳解Java爬蟲利器Jsoup

    詳解Java爬蟲利器Jsoup

    Jsoup是一款Java語言開發(fā)的HTML解析器,用于解析HTML文檔以及對HTML文檔進行操作,處理等,本文就將詳細給大家介紹一下Java中的爬蟲利器Jsoup,感興趣的同學(xué)可以參考一下
    2023-06-06
  • 深入聊聊Java內(nèi)存泄露問題

    深入聊聊Java內(nèi)存泄露問題

    所謂內(nèi)存泄露就是指一個不再被程序使用的對象或變量一直被占據(jù)在內(nèi)存中,下面這篇文章主要給大家介紹了關(guān)于Java內(nèi)存泄露問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04

最新評論

莎车县| 雷州市| 保亭| 清水河县| 察隅县| 虹口区| 汝南县| 鹤山市| 武鸣县| 湘潭县| 铜鼓县| 西充县| 郑州市| 黄浦区| 鸡东县| 合水县| 金川县| 镇巴县| 无锡市| 霍城县| 洪泽县| 亚东县| 浦江县| 伊通| 休宁县| 尼玛县| 德惠市| 陆河县| 南宫市| 乌海市| 石嘴山市| 泰兴市| 漳州市| 天镇县| 孟州市| 东方市| 江安县| 临洮县| 望谟县| 临桂县| 元江|