直接在Java代码里写作1111111111\\11111111111111不就行了?
或者从命令行传入参数时写作 1111111111\11111111111111,Java在内部处理时就已经记做
1111111111\\11111111111111 了
所以输出也是 1111111111\11111111111111

解决方案 »

  1.   

    如果从命令行直接输入\一个的话java就会认为它是一个转义
      

  2.   

    str.replaceAll("\\", "\\\\");看不懂你要替换的是什么?表达清晰一点。
      

  3.   

    String str = "1111111111\11111111111111";
                            ^^str串内不含字符
    无法实现你的要求。
    我是想做一个方法,把任意字符串传进去,把里面的‘\’程序输出时出输入'\'
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    字符串内含\字符直接输出即可,无需替换,与正则表达式无关。
      

  4.   

    字符串内容里包含\字符,如果直接输出字符串的时候\后的字符就会被当做转义符.  public Ttt() {
        String str = "1111\3333";
        //System.out.println(str.replaceAll("\\\\", "\\\\\\\\"));
        System.out.println(str);
        
      }输出的结果:1111?3
    ^^^^^^^^^^^^^^^^我想要它输出1111\3333
      

  5.   

    public Ttt() {
        String str = "1111\\3333";
        //System.out.println(str.replaceAll("\\\\", "\\\\\\\\"));
        System.out.println(str);    
      }
      

  6.   

    str的字符串不是固定不变的,谁知道用户可能输入些什么东西?能留个qq号吗大哥.
      

  7.   

    你就直接传入"1111\\3333"不就行了呗:
    如果你是用代码调这个方法,传入的就应该是"1111\\3333"
    如果你是通过命令行或者文本输入框等外部传入的参数,直接"1111\3333"就行,java在接收到的时候就会转成"1111\\3333"
    你的方法里面直接用System.out.println(str);
      

  8.   

    问题是我要往数据库里传,如果用户输入了1111\3333我要传入数据库.
    ^^^^^^^^^^^^^^
    就要用replaceAll方法替换'\'为'\\',怎么替换?
      

  9.   

    替换'\'为'\\'
    ^^^^^^^^^^^^^想干什么?str=str.replaceAll("\\\\", "\\\\");
                        ^^\      ^^\
      

  10.   

    如果用户输入1111\3333我要更新数据库的语句就是 UPDATE persontable SET username= '1111\\3333' WHERE id=48;我当然要把'\'替换成'\\'了
      

  11.   

    str=str.replaceAll("\\\\", "\\\\");
      

  12.   

    public class Test {
        public static void main(String[] args) {
    String str="a\\a\\a\\b";
    System.out.println(str.replaceAll("\\\\","\\\\\\\\"));
        }
    }输出:a\\a\\a\\b
      

  13.   

    public class Test {
        public static void main(String[] args) {
    System.out.println(args[0].replaceAll("\\\\","\\\\\\\\"));
        }
    }
    用java Test 1111\3333执行
    用户输入参数是1111\3333,只有一个\,输出结果不是1111\\3333吗?不是已经替换了吗?