黑马程序员技术交流社区
标题:
字符替换的问题
[打印本页]
作者:
灰太狼爱平底锅1
时间:
2014-2-7 20:04
标题:
字符替换的问题
当直接使用类名调用replaceAll()方法替换字符"."时可以正常显示想要的内容,但当对包含"."的字符串s采取同样操作是却是整个字符串被"/"替换,但当改为"\\."后得到了想要的结果,求解释。
public class Me {
public static void main(String[] args) {
String s = "com.pack.Me";
System.out.println(Me.class.getName());
System.out.println(Me.class.getName().replaceAll("Me", "/") + ".class");
System.out.println(Me.class.getName().replaceAll(".", "/") + ".class");
System.out.println(s.replaceAll(".", "/")+".class");
System.out.println(s.replaceAll("\\.", "/")+".class");
输出结果为:
Me
/.class
Me.class
/////////////.class
com/public/Me.class
复制代码
作者:
2424308
时间:
2014-2-9 15:59
“.”代表匹配所以字符
作者:
zc332750
时间:
2014-2-9 23:01
replaceAll方法的参数是使用正则表达式的,其中有特殊字符,“."就是一个特殊字符,特殊字符是需要转义的。\\.就是对.进行转义。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2