比如我有一个我有一个路径
String str2 = "d:\\数据\\quanwen";相把前面的替换掉只要quanwen这个字符串 我用的
System.out.println(str2.replaceAll("d:\\数据", ""));居然得不到想要的答案,为什么呢???

解决方案 »

  1.   

    System.out.println(str2.replace("d:\\数据\\", ""));
    可以解决这个问题,replaceAll前一个参数应该是正则表达式。
      

  2.   

    因为\在java中比较特殊 要转义,这样就行了     String str2 = "d:\\数据\\quanwen";
         System.out.println(str2.replaceAll("d:\\\\数据\\\\", ""));
      

  3.   

    楼主可以试着参看下下面这些代码,相信会对你有所帮助的:String str2 = "d:\\数据\\quanwen";//System.out.println(str2.replaceAll("\\", " ")); // java.util.regex.PatternSyntaxException: Unexpected internal error near index 1System.out.println(str2.replaceAll("\\\\", " "));
    System.out.println(str2.replaceAll("d:\\\\数据\\\\", ""));
      

  4.   

    \在Java语法中和正则语法中,都是特殊字符,所以,想让正则匹配字符串中的\需要用\\\\