zoukankan      html  css  js  c++  java
  • java:正则移出html元素

    package com.loongtao.general.crawler.slave;
    
    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*|	|
    |
    ";// 定义空格回车换行符
    
        /**
         * @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;'>&nbsp;整治“四风”&nbsp;&nbsp;&nbsp;清弊除垢<br/><span style='font-size:14px;'>&nbsp;</span><span style='font-size:18px;'>公司召开党的群众路线教育实践活动动员大会</span><br/></div>111";
            System.out.println(getTextFromHtml(str));
        }
    }

     注*:替换时正则:<[^>]+>  就可

  • 相关阅读:
    剑指 Offer——13. 调整数组顺序使奇数位于偶数前面
    剑指 Offer——3. 从尾到头打印链表
    剑指 Offer——2. 替换空格
    剑指 Offer——1. 二维数组中的查找
    LeetCode 905. Sort Array By Parity 按奇偶校验排列数组
    LeetCode 448. Find All Numbers Disappeared in an Array找到所有数组中消失的元素
    SSH 代码笔记
    anaconda3安装caffe
    opencv多版本安装
    人脸文章与数据库
  • 原文地址:https://www.cnblogs.com/gisblogs/p/4048661.html
Copyright © 2011-2022 走看看