入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2015-07-13 投稿人: 浏览次数:17297

今天在项目中使用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("\\","");

  这样就可以正常替换了。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。