`
cuiyadll
  • 浏览: 203160 次
文章分类
社区版块
存档分类
最新评论

java用正则去除html标签

 
阅读更多
package com.xz.cxzy.utils;  
  
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
  
public class HtmlUtil {  
    private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式  
    private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则表达式  
    private static final String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式  
    private static final String regEx_space = "\\s*|\t|\r|\n";//定义空格回车换行符  
      
    /** 
     * @param htmlStr 
     * @return 
     *  删除Html标签 
     */  
    public static String delHTMLTag(String htmlStr) {  
        Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);  
        Matcher m_script = p_script.matcher(htmlStr);  
        htmlStr = m_script.replaceAll(""); // 过滤script标签  
  
        Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);  
        Matcher m_style = p_style.matcher(htmlStr);  
        htmlStr = m_style.replaceAll(""); // 过滤style标签  
  
        Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);  
        Matcher m_html = p_html.matcher(htmlStr);  
        htmlStr = m_html.replaceAll(""); // 过滤html标签  
  
        Pattern p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE);  
        Matcher m_space = p_space.matcher(htmlStr);  
        htmlStr = m_space.replaceAll(""); // 过滤空格回车标签  
        return htmlStr.trim(); // 返回文本字符串  
    }  
      
    public static String getTextFromHtml(String htmlStr){  
        htmlStr = delHTMLTag(htmlStr);  
        htmlStr = htmlStr.replaceAll("&nbsp;", "");  
        htmlStr = htmlStr.substring(0, htmlStr.indexOf("。")+1);  
        return htmlStr;  
    }  
      
    public static void main(String[] args) {  
        String str = "<div style='text-align:center;'> 整治“四风”   清弊除垢<br/><span style='font-size:14px;'> </span><span style='font-size:18px;'>公司召开党的群众路线教育实践活动动员大会。</span><br/></div>";  
        System.out.println(getTextFromHtml(str));  
    }  
}  

 注:\n 回车(\u000a)

\t 水平制表符(\u0009)
\s 空格(\u0008)
\r 换行(\u000d)*/

分享到:
评论

相关推荐

    java正则表达式过滤html标签

    ### Java正则表达式过滤HTML标签 在处理文本数据时,经常会遇到需要从HTML文档中提取纯文本内容的需求。为了去除HTML标记并保留有意义的文字部分,可以利用Java中的正则表达式来实现这一功能。本篇文章将详细介绍...

    java代码-正则去除HTML代码中的A标签

    总结来说,使用Java和正则表达式去除HTML中的A标签是一种常见的文本处理任务,但需要注意的是,这种方法对于简单的情况有效,对于复杂的HTML结构可能不够健壮。对于更复杂的需求,推荐使用专门的HTML解析库。

    Java使用正则表达式删除所有HTML标签的方法示例

    本文将详细介绍如何使用Java的正则表达式来删除HTML标签,以便提取网页内容的核心部分。 首先,我们需要理解HTML标签的一般结构。HTML标签通常以`开始,`&gt;`结束,并可能包含属性。例如,`&lt;script&gt;`和`&lt;style&gt;`标签...

    java代码-正则去除HTML代码中的IMG标签

    需要注意的是,正则表达式处理HTML有一定的局限性,特别是当HTML标签嵌套或者存在复杂结构时。对于更复杂的HTML处理,可能需要使用像Jsoup这样的库,它提供了更强大的解析和操作HTML的能力。 在实际项目中,`README...

    java代码-正则去除HTML代码中的SCRIPT标签

    这个场景中,我们关注的是如何使用Java和正则表达式来移除HTML代码中的`&lt;script&gt;`标签,因为这些标签通常包含JavaScript代码,可能对页面的呈现或安全有特殊影响。下面我们将深入探讨这个话题。 首先,`&lt;script&gt;`...

    简单的清除html标签的代码,效率很高,使用正则

    简单的清除html标签的代码,效率很高,使用正则

    Java中正则表达式去除html标签

    而Java的正则表达式功能可以用来匹配并删除字符串中的HTML标签,下面将详细介绍在Java中如何使用正则表达式去除HTML标签。 首先,我们需要了解几个关键概念。正则表达式(Regular Expression)是一种字符序列,它...

    java去掉html标签 必须首先去掉双引号的正则.docx

    2. **Java正则表达式提取双引号中间的部分**:通过正则表达式可以很容易地提取出双引号之间的内容,这对于解析配置文件或从文本中提取特定信息非常有用。 3. **Java字符串添加双引号**:有时候为了满足某些格式的...

    Java利用正则取标签之间的数据

    本篇文章将详细讲解如何利用Java的正则表达式来提取HTML或其他XML文档中的标签间的数据。 首先,我们将关注标题中提到的“Java利用正则取标签之间的数据”。在给定的示例中,我们有一个字符串`str`包含两个`&lt;font&gt;`...

    java常用正则表达式

    ### Java常用正则表达式详解 #### 一、概述 正则表达式是进行字符串匹配的强大工具,在Java中被广泛应用于各种应用场景,如文本搜索、数据验证等。本篇文章将根据给定的部分内容来详细解释Java中常用的正则表达式,...

    Java用正则表达式如何读取网页内容

    最后,`outTag`方法可能是用来去除HTML标签,只保留纯文本标题。 接着,`getLink`方法使用了更复杂的正则表达式`[^&gt;]*href=("([^"]*)"|'([^']*)'|([^s&gt;]*))[^&gt;]*&gt;(.*?)&lt;/a&gt;`来匹配所有的超链接。这个正则表达式设计...

    java去掉html标签 必须首先去掉双引号的正则

    本篇将重点讲解如何使用Java配合正则表达式去掉HTML标签,尤其是处理双引号的问题。 首先,我们来看给出的代码片段: ```java public static String htmlToStr(String htmlStr) { String result = ""; boolean ...

    去掉所有的html标签

    为了更好地处理这些数据,例如进行文本分析或者将其显示在不支持HTML渲染的环境中,就需要去除其中的HTML标签。 ### Java实现方法详解 #### 方法定义 在给定的代码片段中,`stripTags`方法接受一个名为`...

    Java正则表达式教程

    Java正则表达式教程是为那些想要深入了解Java编程语言中正则表达式使用方法的初学者准备的。正则表达式(Regular Expression)是一种强大的文本处理工具,它用于模式匹配、搜索、替换等操作,广泛应用于字符串处理和...

    移除HTML标签的正则表达式

    这段代码定义了一个名为`RemoveHTML`的函数,它接受一个包含HTML的字符串作为参数,然后使用正则表达式来移除所有的HTML标签。 核心部分在于`objRegExp.Pattern = "&lt;.+?&gt;"`这一行。这里的正则表达式`&lt;.+?&gt;`是用来...

    Java正则表达式提取html纯文本

    5. 对于每个匹配项,使用`m.group(1)`获取第一个捕获组(即HTML标签之间的文本),并使用`trim()`方法去除两侧的空格。 6. 如果捕获到的文本非空,则打印出来。 整个过程就是通过正则表达式解析HTML,提取出纯文本...

    java过滤html,css,js标签工具类(UnHtmlScript)

    1. **HTML标签去除**:这个工具类可能会提供一个方法,例如`removeHtmlTags(String content)`,用于删除HTML标签,只保留文本内容。这通常涉及到正则表达式,如`/*?&gt;/g`,来匹配并替换HTML标签。 2. **CSS去除**:...

Global site tag (gtag.js) - Google Analytics