
1. // 单行
2. /* .......*/ 单行 或多行
3. /** .......*/ 单行 或多行
我们的目的就是把以上三种特征的注释替换
以下是例子
String s = “。。。。。。。。” // 将文件的内容赋值给s
Pattern pattern1 = Pattern.compile("//(.*)") //特征是所有以双斜线开头的
Matcher matcher1 = pattern1.matcher(s)
s = matcher1.replaceAll("") //替换第一种注释
Pattern pattern2 = Pattern.compile("/\\*(.*?)\\*/", Pattern.DOTALL) //特征是以/*开始,以*/结尾,Pattern.DOTALL的意思是糊涂模式,这种模式下.(点号)匹配所有字符
Matcher matcher2 = pattern2.matcher(s)
s = matcher2.replaceAll("") //替换第二种注释
Pattern pattern3 = Pattern.compile("/\\*\\*(.*?)\\*/", Pattern.DOTALL) //特征是以/**开始,以*/结尾
Matcher matcher3 = pattern3.matcher(s)
s = matcher3.replaceAll("") //替换第三种注释
System.out.println(s) //打印结果
使用replaceAll对字符串进行查找替换可以满足你的要求。此方法接两个参数,它支持正则表达式
第一个参数为要查找内容
第二个参数为要替换的值
现在来说说如何把\替换成\\
因为参数是正则表达式,在正则表达式中\是特殊字符,所以需要转义,用"\\"来表示,然后因为\也是java的特殊字符在java中也需要转义用"\\"表示一个"\",这里表示一个\就需要转义两次。
例:
String s = 'E:\jbx\x9\io9'
String ss
ss = s.replaceAll('\\\\', '\\\\\\\\')
这样就实现了把\替换成\\
Java框架jar包是经过包装处理的,如果是java提供的文件,是不可以编辑的。替换文件之后,很有可能会编译不通过,建议不要替换,而且java提供的jar包是经过严格测试的,一般不会有很大的问题。但假如java框架没有提供想要的功能,可以自己编写代码,打包成jar包,就可以加载工程当中使用。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)