Java Blog From WeiChunHua

          Java

          導航

          <2008年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿(1)

          隨筆分類

          隨筆檔案

          相冊

          閱讀排行榜

          評論排行榜

          常用鏈接

          統計

          develop

          news

          最新評論

          JAVA正則表達式

          public class Regular{

          public static void main(String[]args){

          //把字符串中的 "aaa"全部替換為"z" 打印zbzcz

          System.out.println("aaabaaacaaa".replaceAll("a{3}","z"));

          //把字符串的"aaa","aa"或者"a" 全部替換為"*" 打印*b*c*

          System.out.println("aaabaaca".replaceAll("a{1,3},"\\*"));

          //把字符串中的數字全部替換為"z" 打印zzzazzbzzcc

          System.out.println("123a44b35cc".replaceAll("\ \d","z"));

          //把字符串中的非數字全部替換為"0" 打印1234000435000

          System.out.println("1234abc435def".replaceAll("\ \D","0"));

          //把字符串中的"."全部替換為"\"打印abc\def\ghi\jk

          System.out.println("abc.def.ghi.jk".replaceAll("\\.","\\\\"));

          //把字符串中的"a.b"全部替換為"-","a.b"表示長度為3的字符串,以a開頭以b結尾

          //打印-hello-lining

          System.out.println("axbhelloasblining".replaceAll("a.b","-"));

          //把字符串中的所有詞字符替換為"#"

          //正則表達式"[a-zA-Z_0-9]等價于"\w"

          //打印#.#.#.#.#.

          System.out.println("a.b.c.1.2.".replace("\w","#"));

          }



          /**
               * filter all html element.
               * For example:<a href="www.sohu.com/test">hello!</a>
               * 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("<[\\s]*>"))
                       {
                           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("<a href='a/test'>test</a>"));
                  
                   assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("<a href='a/test'>test"));
                  
                   assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("<input type='text'>test</input>"));
                  
                   assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("<p>test"));
                  
                   assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("<table><tr><td>test</td></tr></table>"));
                  
                   assertEquals("te<st",ExcelHssfView.getTxtWithoutHTMLElement("<p>te<st"));
                  
                   assertEquals("te>st",ExcelHssfView.getTxtWithoutHTMLElement("<p>te>st"));
                  
                   assertEquals("tst",ExcelHssfView.getTxtWithoutHTMLElement("<p>t<e>st"));
                  
                   assertEquals("t<st",ExcelHssfView.getTxtWithoutHTMLElement("<p>t<<e>st"));
                  
                   assertEquals("<>test",ExcelHssfView.getTxtWithoutHTMLElement("<p><>test"));
                  
                   assertEquals("< >test",ExcelHssfView.getTxtWithoutHTMLElement("<p>< >test"));
                  
                   assertEquals("<<>test",ExcelHssfView.getTxtWithoutHTMLElement("<p><<>test"));
                  
                   assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("<table><tr><td> test</td></tr></table>"));
                  
               }

          }

          posted on 2008-06-30 10:58 sunny spring 閱讀(156) 評論(0)  編輯  收藏 所屬分類: javaee

          主站蜘蛛池模板: 洱源县| 波密县| 古丈县| 阳泉市| 毕节市| 响水县| 汉中市| 龙山县| 当阳市| 剑河县| 廊坊市| 扬中市| 蚌埠市| 滕州市| 阿鲁科尔沁旗| 咸宁市| 佛冈县| 郑州市| 宁化县| 苏尼特左旗| 西峡县| 浦东新区| 长阳| 江川县| 松阳县| 康保县| 平南县| 藁城市| 台前县| 怀柔区| 威海市| 渭源县| 宜丰县| 华池县| 浑源县| 榆社县| 全椒县| 旬阳县| 永靖县| 新营市| 盖州市|