字符串是"abcd},{abcd", 如何将 "},{"替换成"###"?
String str = "abcd},{abcd";
str.replaceAll("\\}\\,\\{", "###");
为啥没效果捏????
------解决方案--------------------
看着没错误,替换完重新付给str
------解决方案--------------------
str=str.replaceAll("\\}\\,\\{", "###");
应该这么用。
------解决方案--------------------
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);