java - 是否可以反转对 String replaceAll 方法的调用?

标签 java string str-replace

例如……

String s = "abcxyzabcxyz";
s.replaceAll("xyz", "---");

这通常会给我 "abc---abc---"。我怎样才能让它给我 "---xyz---xyz" 呢?

最佳答案

String#replaceAll接受正则表达式,如果我理解正确,你可以使用:

s.replaceAll("[^xyz]", "---")

解释:

[^xyz] 表示任何“x”、“y”或“z”之一的字符。

为了否定“xyz”作为一个系列,使用:

^(?!.*xyz).*$

关于java - 是否可以反转对 String replaceAll 方法的调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27294864/

相关文章:

java在特定文件夹中创建文件

java - 从java servlet以正确的格式将数据插入到mysql表中

c++将文件行读取到vector <string>

javascript - 使用多返回 RegEx ('g' ) + Javascript 中的开关替换字符串

java - 用于对两个不相交的集合执行并集运算的数据结构

java - Eclipse 在哪里存储项目/包等?

java - Jasper 报告错误 : compiler class not found : org. codehaus.mojo.jasperreports.MavenJavacCompiler

c++ - 除了使用 str.substr( ) 在给定位置提取子字符串之外,还有其他方法吗?

php - youtube正则表达式会吞下剩余的文字

php - 我过度使用 str_replace 并且想不出更好的方法