在Java/Android中替换字符串中的多个子字符串

在Java/Android中替换字符串中的多个子字符串,java,android,Java,Android,例如: String originalString = "This is just a string folks"; 我想删除(或替换为“”):1。“这是”2。“伙计们” 期望输出: finalString = "just a string"; 对于唯一的子字符串很容易,我们可以使用replace/replaceAll。 我还知道它适用于各种数值replace([0-9],”) 但是可以对字符执行此操作吗?它的工作原理如下: String originalString = "This is

例如:

String originalString = "This is just a string folks";
我想删除(或替换为“”):
1。“这是”2。“伙计们”
期望输出:

finalString = "just a string";
对于唯一的子字符串很容易,我们可以使用replace/replaceAll。 我还知道它适用于各种数值
replace([0-9],”)
但是可以对字符执行此操作吗?

它的工作原理如下:

String originalString = "This is just a string folks";
originalString = originalString.replace("This is", "");
originalString = originalString.replace("folks", "");
//originalString is now finalString
它的工作原理如下:

String originalString = "This is just a string folks";
originalString = originalString.replace("This is", "");
originalString = originalString.replace("folks", "");
//originalString is now finalString

您可以创建如下函数:

String replaceMultiple (String baseString, String ... replaceParts) {
    for (String s : replaceParts) {
        baseString = baseString.replaceAll(s, "");
    }
    return baseString;
}
把它叫做:

String finalString = replaceMultiple("This is just a string folks", "This is", "folks");

您可以传递在第一个参数之后要替换的多个字符串。

您可以创建如下函数:

String replaceMultiple (String baseString, String ... replaceParts) {
    for (String s : replaceParts) {
        baseString = baseString.replaceAll(s, "");
    }
    return baseString;
}
把它叫做:

String finalString = replaceMultiple("This is just a string folks", "This is", "folks");

您可以传递多个字符串,这些字符串将在第一个参数之后被替换。

这个解决方案非常明显。我的问题是,是否有一种更有效或更“优雅”的方式来做到这一点?因为我有很多子字符串要覆盖,我希望能够在将来轻松添加更多。啊,对不起。。。是的,当然。。。但我不知道在你的情况下会怎样。使用replaceAll(“[A-Za-z]”,“”)您可以始终创建要替换的所有子字符串的枚举,并且可以轻松添加更多子字符串,以备将来需要扩展。这个解决方案非常明显。我的问题是,是否有一种更有效或更“优雅”的方式来做到这一点?因为我有很多子字符串要覆盖,我希望能够在将来轻松添加更多。啊,对不起。。。是的,当然。。。但我不知道在你的情况下会怎样。使用replaceAll(“[A-Za-z]”,“”)您可以始终创建要替换的所有子字符串的枚举,并且可以轻松添加更多子字符串,以备将来需要扩展。谢谢。您是否认为有一种通过“模式”解决此任务的方法?因为您的模式有点模糊,可能没有。您可以通过正则表达式来实现这一点,但是您需要小心模式匹配。最后一个问题,如果我有“notbe”这个词。我想删除所有的“not”前缀,这样“notbe”就会变成“be”。你知道如何实现吗?上面的功能可以帮你完成这个任务。谢谢。您是否认为有一种通过“模式”解决此任务的方法?因为您的模式有点模糊,可能没有。您可以通过正则表达式来实现这一点,但是您需要小心模式匹配。最后一个问题,如果我有“notbe”这个词。我想删除所有的“not”前缀,这样“notbe”就会变成“be”。您知道如何实现这一点吗?上述功能将为您完成该任务。