如何在java 字符串中用“\\”替换“\”
比如: 原字符串是c:\windows\system32
替换后字符串为:c:\\windows\\system32直接用replaceAll("\\","\\\")是不行的。急救啊...

解决方案 »

  1.   

    一楼方法是不行的!
    java.util.regex.PatternSyntaxException
      

  2.   

     String ttt="c:/windows/system32";
     String s = ttt.replace("/", "\\\\");
     System.out.println(s);
      

  3.   


    public class Test {
        public static void main(String args[]) throws Exception
        {
            String s="c:\\windows\\system32";
            System.out.println(s.replaceAll("\\\\","\\\\\\\\"));    }
    }
      

  4.   

    \正则表达式中,属于正则表达式的转义字符.在方法replace(regex1,regex2)两参数都是正则表达式.都先不去管它转不转义.先写,
    应该是replace("\","\\"),好,现在用正则表达式对参数regex1,regex2转义一下,变成replace("\\","\\\\");
    然后在java中,\又是一个转义字符,再转一下,变成replaceAll("\\\\","\\\\\\\\").
      

  5.   

    replaceAll("\\\\","\\\\");
    replaceAll中
    第一个参数是正则表达式
    第二个参数不是正则的楼主的标题似乎与问题有冲突
      

  6.   

    现在又多了个问题:当我从文本框接收这个目录的时候,比如String s=text.getText();因为目录是形如c:\windows\system32的,这是编译器会报转义字符的错误。现在我的问题是:我必须得接收形如c:\windows\system32的字符串,才能将其转换为符合java要求的c:\\windows\\system32
      

  7.   

    <%
    String a="c:\windows\system32"
    a=a.replace("\","\\")
    %>
    <%=a%>