加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

字符串中的左斜杠替换成右斜杠(java中replaceAll()方法)

(2012-04-27 19:20:27)
标签:

replaceall

java替换

左斜杠替换

分类: java基础

在做项目过程中 需要将一个字符串中的左斜杠全部替换成右斜杠 以为很简单的操作但是总是报错。

String filePath = "/wzk/01/20021.jpg";

开始 调用 replaceAll();方法以为就能替换的 代码如下:

filePath = filePath.replaceAll("/","\\");

但程序总是报错。

最后在网上搜了一下,才明白。下面 摘自网络:

java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠

例如  str1="aa\bbb"; str2="aa'bbb";

要想替换成 str1="aa\\bbb";str2="aa\'bbb";

必须这样替换:

            str1 = str1.replaceAll("\\\\", "\\\\\\\\");
            str2 = str2.replaceAll("'", "\\\\'");

原因如下:

String 的 replaceAll() 方法,实际是采用正则表达式的规则去匹配的,

\\\\  ,java解析为\\交给正则表达式,  正则表达式再经过一次转换,把\\转换成为\

也就是java里面要用正则来表示一个\. 必须写成4个\

如果要表示\\,那就要写8个\


所以如果写成: str1 = str1.replaceAll("\\", "\\\\");

就会报正则表达式的错误。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有