要求,字符串中有偶数个 \,替换成 这个数除于 2的\
比如 ,字符串中有4个\,那么结果需要2个\测试,有一字符串 abc\\\\\\\\abc\\\\abc\\,目标abc\\\\abc\\abc\
注意,我上面的测试串没加转译符号我试的方法 
str = str.replaceAll("\\\\\\\\","\\\\");
和str = str.replace("\\\\\\\\","\\\\");
但都没达到要求

解决方案 »

  1. 呵呵,把每个\看成一个字符char
    然后统计个数,再除以2,输出
    可以么
      

  2. public class Sep {
    public static void main(String args[]){
    String str = "abc\\\\dadada\\\\\\\\dd";

    System.out.println(str);
    System.out.println(str.replace("\\\\", "\\"));
    }
    }
    abc\\dadada\\\\dd
    abc\dadada\\dd
      

  3. String a = "abc\\\\\\\\\\\\\\\\abc\\\\\\\\abc\\";
    a = a.replace("\\\\", "\\");
    System.out.println(a);
      


  4. 对,猴子这个方法好,楼主str = str.replaceAll("\\\\\\\\","\\\\"); 
    和str = str.replac("\\\\\\\\","\\\\"); 方法都是对特定数目的\ 替换,但是\\ -> \ 其实就可以了!
      


  5. String s = "//////////////";

    System.out.println(s.replaceAll("//", "/"));把两个替换成一个。问题解决!
      

  6. 6楼的,把符号都弄反了,囧
    2楼的方法解决了,原来是replace中不支持正则,还有我\\太多了以至于我把源串和转译符混为一谈最后总结如下str.replaceAll("\\\\\\\\", "\\\\") 
    str.replace("\\\\", "\\") 都可以解决
    结贴了,感谢各位
      

类似问题 »