zoukankan      html  css  js  c++  java
  • 【转】java使用正则表达式去除字符串的html标签

     http://www.javaeye.com/topic/217508

    新闻内容或者博客文章,如果显示摘要,需要去除内容的html格式标签,找到一个正则表达式,实现了:

    代码
    /**
         * 删除input字符串中的html格式
         * 
         * @param input
         * @param length
         * @return
         
    */
        
    public static String splitAndFilterString(String input, int length) {
            
    if (input == null || input.trim().equals("")) {
                
    return "";
            }
            
    // 去掉所有html元素,
            String str = input.replaceAll("\\&[a-zA-Z]{1,10};""").replaceAll(
                    
    "<[^>]*>""");
            str = str.replaceAll("[(/>)<]""");
            
    int len = str.length();
            
    if (len <= length) {
                
    return str;
            } else {
                str = str.substring(0, length);
                str += "......";
            }
            
    return str;
        }

    其中:

    \\&代表 &字符 ,而[a-zA-Z]{1,10} 代表任意字母(包含大小写)组成的字串,长度为1到10 ,这样的表达式用来匹配例如:&lt; &gt; &nbsp; 之类的字串 。

    原帖的另一回帖:

    方法明显太过暴力,假如我的内容用<1><2><3>这样的形式来作为步骤的标示,那不是一样被删。


    // 去掉所有html元 素,     
    String str = input.replaceAll("<[a-zA-Z]+[1-9]?[^><]*>""")  
                      .replaceAll(
    "</[a-zA-Z]+[1-9]?>""");  


  • 相关阅读:
    类和对象
    类和对象1
    常见的子串问题
    常见的算法问题全排列
    第六届蓝桥杯java b组第五题
    第六届蓝桥杯java b组第四题
    第六届蓝桥杯java b组第三题
    第六届蓝桥杯java b组第二题
    第六届蓝桥杯java b组第一题
    第八届蓝桥杯java b组第三题
  • 原文地址:https://www.cnblogs.com/fzzl/p/1706433.html
Copyright © 2011-2022 走看看