Java 如何删除字符串的一部分

Java 如何删除字符串的一部分,java,string,Java,String,给定两个字符串base和remove,返回基本字符串的一个版本,其中remove字符串的所有实例都已删除(不区分大小写)。您可以假设删除字符串的长度为1或更长。仅删除不重叠的实例,因此使用“xxx”删除“xx”会留下“x” 为什么我不能使用此代码: public String withoutString(String base, String remove) { base.replace(remove, ""); return base; } base.replace不会更改原

给定两个字符串base和remove,返回基本字符串的一个版本,其中remove字符串的所有实例都已删除(不区分大小写)。您可以假设删除字符串的长度为1或更长。仅删除不重叠的实例,因此使用“xxx”删除“xx”会留下“x”

为什么我不能使用此代码:

public String withoutString(String base, String remove)
{
    base.replace(remove, "");
    return base;
}

base.replace
不会更改原始的
String
实例,因为
String
是一个不可变的类。因此,必须返回
replace
的输出,这是一个新的
字符串

      public String withoutString(String base, String remove) 
      {
          return base.replace(remove,"");
      }
String#replace()
返回一个新字符串,不会更改调用它的字符串,因为字符串是不可变的。在代码中使用此选项:

public String withoutString(String base, String remove) {
   //base.replace(remove,"");//<-- base is not updated, instead a new string is builded
   return base.replace(remove,"");
}
base=base。替换(删除“”)
更新您的代码:

public String withoutString(String base, String remove) {
   //base.replace(remove,"");//<-- base is not updated, instead a new string is builded
   return base.replace(remove,"");
}
public String withoutString(字符串基,字符串移除){
//base.replace(删除“”);//尝试以下代码

public String withoutString(String base, String remove) {
          return base.replace(remove,"");
      }
对于输入:

base=Hello World   
remove=llo
输出:

He World
有关此类
string
操作的更多信息,请访问链接。

库已经实现了此方法,您无需再次编写

代码:

 return StringUtils.remove(base, remove);

我不明白,为什么人们会投票回答这个问题