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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 浩临天下 中级黑马   /  2013-6-21 20:11  /  1044 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

 将字符串中的'/'替换成'\'的种方式:
  msgOut= msgIn.replaceAll("/", "\\\\");
  msgOut= msgIn.replace("/", "\\");
这两种都对吗??为什么啊???

3 个回复

倒序浏览
都对
  '\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println("\\") ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。
回复 使用道具 举报
万琪 来自手机 金牌黑马 2013-6-22 11:34:17
藤椅
,,是的,,只是string两个不同方法
回复 使用道具 举报
万琪 来自手机 金牌黑马 2013-6-22 11:36:57
板凳
万琪 发表于 2013-6-22 11:34
,,是的,,只是string两个不同方法

两者是有区别的,,replace 参数是char replace 参数是 string 这就是说,,replace只能1换1,,而,,replaceall不限制
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马