使用java中replaceAll方法替换字符串中的反斜杠
2016-03-13 10:52
363 查看
今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常:
1 java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \^
上网找了一下错误的原因:在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"表示。这样,前一个"\\"代表regex中的"\",后一个"\\"代表java中的"\"。所以要想使用replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),则需要这样写:str.replaceAll("\\\\","");
写一段测试代码演示上面出现的异常:
1 String s="C:\盘"; 2 s.replaceAll("\\","");
使用上面的代码会导致
1 java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \^
要想将"C:\盘"中的"\"替换成空字符串,正确的写法是:
1 s.replaceAll("\\\\","");
这样就可以正常替换了。
相关文章推荐
- Java系统调优:内存管理与垃圾回收
- JavaSE知识集锦(1)深拷贝与浅拷贝
- java设计模式——结构型之门面模式
- java单点登录系统CAS的简单使用
- JDK动态代理和CGLiB动态代理
- JAVA HASHMAP 如何用
- java中HashMap详解
- [Java] i++与++i的区别(后缀++与前缀++)
- Java运算符优先级
- Ubuntu 15.10 程序“java”已包含在下列软件包中,安装jdk1.8.73
- Java编程规范
- 线程
- Java遇见HTML——JSP篇之JavaWeb简介
- java中dao层和service层的区别是什么?
- Java内存溢出的几种情况
- Eclipse中的快捷键总结
- Java配置文件的使用
- Leetcode:219. Contains Duplicate II(JAVA)
- spring学习笔记(1)IOC核心原理解析
- win10下如何配置JAVA的环境