首页 > 程序开发 > 软件开发 > Java >

java正则表达式可用在replaceAll里

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

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