从原始 myString 中删除输入字符串

Remove the input string from the original myString

我正在尝试从 public 字符串 myString

中删除输入字符串

myString = "你好"

removeS("el") 将 return "Hlo"

下面是我的代码,其中的问题是类型不兼容:java.lang.String 无法在我的字符串结果中转换为 int。如果您使用 substring() 和 indexOf() 来解决我的问题并且不使用任何其他强大的工具,我会很高兴。我将如何解决这个问题。

public class StringI
{
    public String myString;

public String removeS(String s){

    myString = "Hello";
    
    
    String result = s.substring(myString);

    return result;
    }

public static void main(String args[]){

StringI n = new StringI();

n.removeS("el");


}




}


我们需要得到前半部分和后半部分,然后像这样拼凑起来:

String result = myString.substring(0, myString.indexOf(s))+myString.substring(myString.indexOf(s)+s.length());

由于.indexOf()returnss的位置,我们可以使用substring从String的开头开始到那个位置,然后使用另一个子字符串得到最后一部分。

以下程序:

import java.util.Scanner; 
 
 public class Main {
     public static String removeS(String s){
         String myString = "Hello";
         String result = myString.substring(0, myString.indexOf(s))+myString.substring(myString.indexOf(s)+s.length(), myString.length());
         return result;
     }
 public static void main(String[] args) {
    System.out.println(removeS("el"));
 }
}

生产:

Hlo

使用子字符串:您可以将其分为两部分:

public class StringI
{
    public String myString;

    public String removeS(String s){
        myString = "Hello";
        
        // Before the `s`
        String part1 = myString.substring(0, myString.indexOf(s));
        // After the `s`
        String part2 = myString.substring(myString.indexOf(s) + s.length());

        return part1 + part2;
    }

    public static void main(String args[]){
        StringI n = new StringI();
        String result = n.removeS("el");
        
        System.out.println(result);
    }
}

最简单的方法是-

public static void main(String[] args) {
    String myString = "Hello";
    String removeString="el";
    System.out.println(myString.replace(removeString,""));
}