免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1001 | 回复: 0
打印 上一主题 下一主题

java 正则表达式过滤html元素 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-21 20:57 |只看该作者 |倒序浏览

程序代码:
/**
     * filter all html element.
     * For example:"www.sohu.com/test">hello!
     * The filter result is :hello!
     * Notice:This method filter the text between " and ">"
     * @param element
     * @return
     */
    public static String getTxtWithoutHTMLElement (String element)
    {
//      String reg="]+>";
//      return  element.replaceAll(reg,"");
        
        if(null==element||"".equals(element.trim()))
        {
            return element;
        }
        Pattern pattern=Pattern.compile("]*>");
        Matcher matcher=pattern.matcher(element);
        StringBuffer txt=new StringBuffer();
        while(matcher.find())
        {
            String group=matcher.group();
            if(group.matches(""))
            {
                matcher.appendReplacement(txt,group);   
            }
            else
            {
                matcher.appendReplacement(txt,"");
            }
        }
        matcher.appendTail(txt);
        repaceEntities(txt,"&","&");
        repaceEntities(txt,",");        
        repaceEntities(txt,">",">");
        repaceEntities(txt,""","\"");
        repaceEntities(txt," ","");
        
        return txt.toString();
    }
下面是测试用例:
public void testGetTxtWithoutHTMLElement ()
    {
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("te,ExcelHssfView.getTxtWithoutHTMLElement("te));
        
        assertEquals("te>st",ExcelHssfView.getTxtWithoutHTMLElement("te>st"));
        
        assertEquals("tst",ExcelHssfView.getTxtWithoutHTMLElement("tst"));
        
        assertEquals("t,ExcelHssfView.getTxtWithoutHTMLElement("tst"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("test"));
        
        assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement(" test"));
        
    }


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/33099/showart_326025.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP