Java Blog From WeiChunHua

          Java

          常用鏈接

          統計

          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

          主站蜘蛛池模板: 古田县| 华安县| 岳普湖县| 新田县| 邵阳县| 黄浦区| 沂南县| 阜新市| 桓台县| 原阳县| 南皮县| 博客| 望奎县| 临武县| 桐乡市| 枣强县| 乌兰浩特市| 珠海市| 阿图什市| 山东| 江永县| 黑山县| 革吉县| 辰溪县| 呼玛县| 龙州县| 明水县| 资源县| 河北区| 兴业县| 静乐县| 巴东县| 杭锦旗| 灵宝市| 鹤庆县| 绥阳县| 太谷县| 岱山县| 泰和县| 东乡县| 新余市|