例如......
String s = "abcxyzabcxyz";
s.replaceAll("xyz", "---");
这通常会给我"abc---abc---"
。我怎么能让它给我"---xyz---xyz"
呢?
答案 0 :(得分:4)
String#replaceAll
接受正则表达式,如果我理解正确,你可以使用:
s.replaceAll("[^xyz]", "---")
说明:
[^xyz]
表示任何字符不“x”,“y”或“z”之一。
为了将“xyz”否定为系列,请使用:
^(?!.*xyz).*$
答案 1 :(得分:2)
您可以使用此...
s.replaceAll("[^xyz]", "-");
在更正式的Java方法中,我会使用Pattern类,如下所示:
Pattern p = Pattern.compile("[^xyz]");
s.replaceAll(p.pattern(), "-");