java - 从另一个字符串中删除一组不连续的字符(作为字符串)?
问题描述
我需要通过从 s1 中删除 s2 中出现的所有字符来生成 s3 字符串。
例如 :
String s1 = "Computer";
String s2 = "mur";
结果必须是:"Copte"
我试图这样做:s3 = s1.replace(s2, "");
但它不起作用。我得到同样的词:computer
。
解决方案
您可以使用 replaceAll 女巫接受正则表达式:
String result = s1.replaceAll(String.format("[%s]", s2), "");// Output Copte
如果你的字符串包含一些特殊字符,例如} { ) ( . -
这个字符可以是正则表达式语法的一部分,在这种情况下你必须对它们进行转义,你可以Pattern.quote(s2)
像这样使用:
String result = s1.replaceAll(String.format("[%s]", Pattern.quote(s2)), "");
推荐阅读
- java - Android Studio Tic Tac Toe 未显示获胜用户
- c# - Docker 容器中的 Azure 函数在 Visual Studio 中运行,但从命令行不执行任何操作
- javascript - Firebase firestore:未处理的拒绝(RangeError):超出最大调用堆栈大小
- python - 如何在pyspark中动态拆分和分组数字
- sql - 如何使用 SQL 获取上一个日期的列数?
- android - 如何从 Api 级别 30 中的 imageUri 获取位图?
- c++ - 是否可以在变量名中进行数学运算?例如:S[BP1P - 8]O == 假
- c++ - 难以实现两个向量 MVS C++
- c# - 由于 CORS 保护,SendGrid Api 不会发送电子邮件
- regex - 提取由模式分隔的时间码和后面的行中的文本