首页 > 解决方案 > 从另一个字符串中删除一组不连续的字符(作为字符串)?

问题描述

我需要通过从 s1 中删除 s2 中出现的所有字符来生成 s3 字符串。

例如 :

String s1 = "Computer"; 
String s2 = "mur";

结果必须是:"Copte"

我试图这样做:s3 = s1.replace(s2, "");但它不起作用。我得到同样的词:computer

标签: javaarraysstring

解决方案


您可以使用 replaceAll 女巫接受正则表达式:

String result = s1.replaceAll(String.format("[%s]", s2), "");// Output Copte

如果你的字符串包含一些特殊字符,例如} { ) ( . -这个字符可以是正则表达式语法的一部分,在这种情况下你必须对它们进行转义,你可以Pattern.quote(s2)像这样使用:

String result = s1.replaceAll(String.format("[%s]", Pattern.quote(s2)), "");

推荐阅读