String str = "abcd},{abcd";
str=str.replaceAll("\\},\\{", "###");
System.out.println(str);

解决方案 »

  1.   

    看着没错误,替换完重新付给str
      

  2.   

    str=str.replaceAll("\\}\\,\\{", "###");
    应该这么用。
      

  3.   


    public String replaceAll(String regex,  String replacement)使用给定的 replacement 
    替换此字符串所有匹配给定的正则表达式的子字符串。 调用此方法的 str.replaceAll(regex, repl) 形式与以下表达式产生的结果完全相同: 
    Pattern.compile(regex).matcher(str).replaceAll(repl)
    注意,在替代字符串中使用反斜杠 (\) 和美元符号 ($) 与将其视为字面值替代字符串所得的结果可能不同;请参阅 Matcher.replaceAll。如有需要,可使用 Matcher.quoteReplacement(java.lang.String) 取消这些字符的特殊含义。 参数:
    regex - 用来匹配此字符串的正则表达式
    replacement - 用来替换每个匹配项的字符串 
    返回:所得 String 
    String 是不可变对象,一旦对象创建,对象值便不可修改,再做操作时,产生的结果都是新开辟空间存放的,不影响之前的对象值,所以,返回的字符串不是原字符串了String str = "abcd},{abcd";
           str = str.replaceAll("\\}\\,\\{", "###");
           System.out.println(str);
      

  4.   

    String str = "abcd},{abcd";
    Pattern pattern = Pattern.compile("[}][,][{]");
    Matcher matcher = pattern.matcher(str);
    System.out.println(matcher.replaceAll("###"));