首页 > 安全资讯 >

java正则表达式可用在replaceAll里

11-07-27

写道str="/* */ package cn.ehoo.dao;";System.out.println(str.replaceAll("/\\*.+\\*/", "");意思是把 str 里的/* */用空格给替换掉。结果就是 package cn.ehoo.dao; 而不会再有 /* */另一个方法是...

写道
str="/*    */ package cn.ehoo.dao;";
System.out.println(str.replaceAll("/\\*.+\\*/", "");
 意思是把 str 里的/*    */用空格给替换掉。
结果就是 package cn.ehoo.dao; 而不会再有 /*    */
 
 
另一个方法是用到java提供的两个类,一个是Matcher,一个是Pattern。
 
Java代码 
File path = new File("d:\\DAOSupport.java"); 
        FileInputStream fis = new FileInputStream(path); 
        byte[] b = new byte[(int) path.length()]; 
        int len = fis.read(b); 
        String str = new String(b, 0, len, "UTF-8"); 
 
           str="/*    */ package cn.ehoo.dao;"; 
            
            
          // System.out.println(str.replaceAll("/\\*.+\\*/", "")); 
            
        Pattern pattern = Pattern.compile("/\\*.+\\*/");//用指定的正则表达式进行预编译 
        Matcher matcher = pattern.matcher(str);//创建匹配给定输入与此模式的匹配器。  
        StringBuffer sbf = new StringBuffer(); 
        while (matcher.find()) {//描输入序列以查找与该模式匹配的下一个子序列。  
             //System.out.println(sbf.toString()); 
            matcher.appendReplacement(sbf, "");// 
        } 
        matcher.appendTail(sbf); 
         System.out.println(sbf.toString()); 

相关文章
最新文章
热点推荐