想把字符串中的反斜杠(\)替换成(\\)
察看了API后知道该用replaceAll(String,String)来替换
但是不知道该如何写里面的表达式
希望各位指导一下

解决方案 »

  1.   

    字符串中的\只能用两个\\表示(如"abc\\bd"就是表示abc\bd)
      

  2.   

    public class JmTest {
        public static void main(String[] args) {
            String s = "abc\\def";
            System.out.println(s);
            String s2 = s.replaceAll("\\\\", "\\\\\\\\");
            System.out.println(s2);
        }
    }
      

  3.   

    try {
    String ResultString = SubjectString.replaceAll("\\\\", "\\\\\\\\");
    } catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
    } catch (IllegalArgumentException ex) {
    // Syntax error in the replacement text (unescaped $ signs?)
    } catch (IndexOutOfBoundsException ex) {
    // Non-existent backreference used the replacement text
    }
      

  4.   

    那么为什么replaceAll("\\\\", "\\\\\\\\");
    是四个和八个呀
      

  5.   

    因为要转义,下面这样也可以
    try {
    String ResultString = SubjectString.replaceAll(@"\\", @"\\\\");
    } catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
    } catch (IllegalArgumentException ex) {
    // Syntax error in the replacement text (unescaped $ signs?)
    } catch (IndexOutOfBoundsException ex) {
    // Non-existent backreference used the replacement text
    }
      

  6.   

    体委replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,用replaceAll("\\\\", "\\\\\\\\");