使用java中replaceAll方法替换字符串中的反斜杠

  今天在项目中使用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中replaceAll方法替换字符串中的反斜杠

时间: 2024-10-12 10:16:16

使用java中replaceAll方法替换字符串中的反斜杠的相关文章

String.replaceAll()方法替换字符串中的反斜杠(\)

replaceAll()方法实际是采用正则表达式的规则去匹配的. 在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"表示.这样,前一个"\\"代表regex中的"\",后一个"\\"代表java中的"\",所以字符串转义一次,正则转义一次,那么一个斜扛要写4个; 要想使用replaceAll()方法将字符串中的反斜杠(\)替

Python原始字符串无法在字符串结尾加上反斜杠的处理方式

如果你这样: print(r"/n/n/n/n/n/n/") 会报SyntaxError. 原因是因为最后的反斜杠转义了后面跟着的引号. 因此我们需要对转义进行反转义,然后删除最后一个反义字符. 就像这样: print(r"/n/n/n/n/n/n//"[:-1])

Java,JavaScript中斜杠和反斜杠的替换

Java: 在不同的系统中,路径的分隔符不同,故需要做出判断,并切换分隔符; String类中replaceAll方法如下: String.replaceAll(String regex,String replacement),replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠: 1. java 把字符串中的反斜杠(\)替换成双斜杠(\\) replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,如:replaceAll( "\\\\ &q

java反斜杠替换

java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa\bbb"; str2="aa'bbb"; 要想替换成 str1="aa\\bbb";str2="aa\'bbb"; 必须这样替换: str1 = str1.replaceAll("\\\\", "\\\\\\\\"); str2 = str2.replaceAll("'"

java 删除字符串中的反斜杠\

Java中有时候会打印出来会含有反斜杠(\)的字符串,我们需要删除时,可以使用 replace() 或 replaceAll() 但是要注意的是replaceAll()里面用的是正则表达式,所以一个斜扛要写4个,即在这个函数里,\\\\代表\(是个反斜杠代表打印出的一个斜杠) 用str.replaceAll( “\\\\”,  “”);就实现了消除str中的所有反斜杠.

java 和 JS(javaScript)中的反斜杠正则转义

首先说下为什么要转义.在正则中有些字符有特殊含义的,比方说 * 可以前一子表达式的任意次,. 表示除"\r\n"之外的任何单个字符,+ 表示前一子表达式的一次或多次,等.而在有些情况下,需要正则验证这些字符,比方说要验证加减乘除四个运算符号,为了告诉编译器,你要验证的是一个字符而不是正则表达式,就要对这些有特殊含义的字符进行转义,这样就有了转义这一操作. 在java 和javascipt中,都是用反斜杠"\"进行转义,然后两种语言的用法不尽相同,下面举例说明: 1.

[Asp.net]c#中的斜杠和反斜杠

引言 在外地出差,给客户部署项目,三家做的项目要在一起集成,这就造成数据格式不同,路径中的斜杠和反斜杠造成了很大的问题. 查了一下这方面的资料,这里做一些记录,算是一个小结吧. 正斜杠(/)与反斜杠(\)总结 正斜杠/表示除法,分隔.在windows系统中通常用来分隔命令行参数,/表示选项等.不能作为文件名. 反斜杠\,在windows系统中用来表示目录. 而在unix系统中,/表示目录.由于web遵循unix命名,所以在网址(URL)中,/表示目录. C#中反斜杠\与斜杠/ 转移字符路径的问题

绝对路径以及相对路径中的斜杠和反斜杠

一.C++文件中的路径 文件路径中的正斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/": 反斜杠,也称右斜杠,符号是"\". 文件路径的表示可以分为绝对路径和相对路径: 1. 绝对路径 绝对路径表示相对容易, 例如要打开"C: \Documents andSettings\All Users\My Documents\Downloads\pillow.jpg",则: Fp =fopen("C: \\Documents andSetting

python 正则表达式中反斜杠(\)的麻烦和陷阱

这里是一点小心得:由于下面两个原因,在正则表达式中使用反斜杠就会产生了一个双重转换的问题.(1).python自身处理字符串时,反斜杠是用于转义字符 (2).正则表达式也使用反斜杠来转义字符     要匹配字符串中1个反斜杠应该怎么写正则表达式?"\\",这样行吗?试试就知道了,re模块抛异常了,因为在正则表达式中,"\\"就是一个反斜杠,对于正则表达式解析器来说,是一个转义字符,但是后面啥也没有,自然就报错了,"\\\"三个肯定是不行的,试试四