怎么把一个字符串里的\全部换成\\
用replaceall("\","\\");的时候出错  请问应该怎么换 谢谢!

解决方案 »

  1.   

    replaceall("\\","\\\\");
    这样行不?
      

  2.   

    replaceAll("\\\\", "\\\\\\\\")"仔细看看String 的java doc吧,相信你能明白
      

  3.   

    这样的话就出错了
    Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
    \
     ^
    at java.util.regex.Pattern.error(Pattern.java:1650)
    at java.util.regex.Pattern.compile(Pattern.java:1403)
    at java.util.regex.Pattern.<init>(Pattern.java:1124)
    at java.util.regex.Pattern.compile(Pattern.java:817)
    at java.lang.String.replaceAll(String.java:2000)
    at a.wenjian.main(wenjian.java:32)
      

  4.   

    replaceAll("\\\\", "\\\\\\\\")
    应该是这样滴
      

  5.   

    replaceAll("\\\\", "\\\\\\\\")
    应该是这样滴
      

  6.   

    汗 我只是想把一个\换成\\ 
    replaceAll("\\\\", "\\\\\\\\")
    咋出来这么多\谁帮忙解释一下啊
      

  7.   

    我试了replaceAll("\\","\\\\");确实不行,“\\”在java里应该给转意成“\”,而“\\\\”应该被转意成“\\”才对,不知道为什么replaceAll("\\\\", "\\\\\\\\");要写成这样。不过这样确实运行正确。
      

  8.   

    replaceAll方法是这样定义的:replaceAll(String regex, String replacement);replaceAll("\\\\", "\\\\\\\\");
    <font color="blue"><u>这里"\\\\"是一个正则表达式;<u></font>
    众所周知,\是一个转义字符,
    "\\\\"在这里实际的正则表达式是"\\"
    replaceAll方法就是根据这个正则表达式"\\"来替换字符<font color="red">结帖给分!!!</font>
      

  9.   

    看来这个replaceAll()名字起的不好,误导了一大批新手啊
    你以为replace()就不all了吗
      

  10.   

    已经说的很清楚了,是你没有理解
    replaceAll这个方法是按照正则表达式替换字符的
    "\\\\"这个字符串的正则表达式是"\\"
    这里就是按照"\\"这个正则表达式来替换的