怎么才能实现我希望的结果?String line = "tmp : Aaaaa";

String str = "AAA\\BBB\\CCC";
line = line.replaceAll("tmp",str); System.out.println(line);
//结果是AAABBBCCC : Aaaaa
//我希望的结果应该是:AAA\\BBB\\CCC : Aaaaa

解决方案 »

  1.   


            String line = "tmp : Aaaaa";
            
            String str = "AAA\\\\BBB\\\\CCC";
            line = line.replaceAll("tmp",str);        System.out.println(line);
      

  2.   

    String str = "AAA\\\\\\\\BBB\\\\\\\\CCC";有点奇怪为什么是上面这种写法。
      

  3.   

    晕。
    String line = "tmp : Aaaaa";
            
            String str = "AAA\\\\\\\\BBB\\\\\\\\CCC";
            System.out.println(str);
            line = line.replaceAll("tmp",str);         System.out.println(line);
      

  4.   

    真有意思这玩意\\"\"是个转义字符
    定义的
    str="AAA\\\\\\\\BBB\\\\\\\\CCC"
    在replace方法中调用的时候,就是
    "AAA\\\\BBB\\\\CCC"了;
    //在String的replaceAll中,调用的时候又转了一回,
    //这时才是"AAA\\BBB\\CCC"
    //真诡异啊
    public String replaceAll(String regex, String replacement) {
    return Pattern.compile(regex).matcher(this).replaceAll(replacement);
        }
      

  5.   

    不对啊,不知道是不是因为我用了java7的缘故,我输出的结果是AAA\BBB\CCC : Aaaaa
      

  6.   

    java里边的\是转义符,\\会输出一个斜杠,前边\是转义符号,后边\才是输出项,所以\\\\才会输出两个斜杠!
      

  7.   


    你果真要在中间插入两个反斜杠呀,那应该使用4楼的办法
           String line = "tmp : Aaaaa";
            
            String str = "AAA\\\\\\\\BBB\\\\\\\\CCC";
            line = line.replaceAll("tmp",str);        System.out.println(line);
      

  8.   

    其实我的str是个路径,能改成"AAA\\\\BBB\\\\CCC"吗??
      

  9.   

    路径用这个  "AAA/BBB/CCC"
    多清晰啊
      

  10.   

    用replace方法,不要用replaceAll方法。
      

  11.   

    凡是用到正则表达式的,如果是要匹配"\"这个,就得用这个"\\\\",replaceAll的实现实际上是用到正则表达式去实现的。
      

  12.   

    '\'在java里面是转义字符的意思,要想获得"\\",就要输入"\\\\"这样第一个'\'和第三个'\'就代表第二个和第四个是'\'这个符号。
      

  13.   

    感觉LZ的问题说的不是很清晰啊。
    str是目录?那就用/
    如果是要实现\\,则用需是////