`

java正则表达式可用在replaceAll里

 
阅读更多
 写道
str="/*    */ package cn.ehoo.dao;";
System.out.println(str.replaceAll("/\\*.+\\*/", "");

 意思是把 str 里的/*    */用空格给替换掉。

结果就是 package cn.ehoo.dao; 而不会再有 /*    */

 

 

另一个方法是用到java提供的两个类,一个是Matcher,一个是Pattern。

 

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());

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics