黑马程序员技术交流社区

标题: 问个刚看到的replaceAll问题 [打印本页]

作者: 赵江锋    时间: 2011-10-18 21:44
标题: 问个刚看到的replaceAll问题
如何将字符串中的"\"替换成"\\"
        String msgIn;
        String msgOut;
        msgOut=msgIn.replaceAll("\\","\\\\");

这样对吗?
作者: zhangxinxin    时间: 2011-10-18 22:22
不对,应该写成这样:
msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");
第一个是四个\,第二个是八个\

作者: 蒋先    时间: 2011-10-19 14:01
不对。
'\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。
同样
        CODE: \\\\\\\\
        Java: \\\\
        Regex: \\
应该是写成这样msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2