A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵江锋 黑马帝   /  2011-10-18 21:44  /  2409 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何将字符串中的"\"替换成"\\"
        String msgIn;
        String msgOut;
        msgOut=msgIn.replaceAll("\\","\\\\");

这样对吗?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

2 个回复

正序浏览
不对,应该写成这样:
msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");
第一个是四个\,第二个是八个\

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马