在 Java 中,我如何创建一个可以将 remove/add 个字母或数字赋给特定字符串的方法?

In Java, how can I create a method where I can remove/add letters or numbers to a certain String?

我知道如何使用 for 循环访问某个字符串点并执行 string.substring(i),但我不知道删除或添加 letters/numbers.

String.substring(i).replace("x", "");

public static String replace(String s) {
    for (int i=0; i<s.length(); i++) {
            if (s.substring(i) == ... ) {
                //more code
            }
    }
}

当我运行这段代码时,它仍然打印原始字符串。

String 在 java 中是不可变的。您可以从 String 创建 StringBuilder 对象,并在其上删除和添加操作。 StringBuilder 给你一个方法 deleteCharAtsetCharAt。您可以使用它们,最后您可以通过从 StringBuilder 对象调用方法 toString 再次取回您的新字符串。

StringBuilder sb = new StringBuilder("yourString");
for(int i=0;i<sb.length();i++){
    if(sb.charAt(i) == '5'){ // want to compare '5' 
      sb.deleteCharAt(i);
    } else {
      sb.setCharAt(i,'6');
    }
}
String newString = sb.toString;

上述操作无法通过JavaString直接实现,但可以通过StringBuilder实现。

插入示例:

public class App {

public static void main(String[] args) {

    StringBuilder stringBuilder = new StringBuilder("Hello ");
    System.out.println("String :- " + stringBuilder);

    String string = "World";
    stringBuilder.insert(6, string);

    System.out.println("After insertion :- " + stringBuilder.toString());
}
}

删除示例:

public class App {

public static void main(String[] args) {
    StringBuilder stringBuilder = new StringBuilder("Hello World");

    System.out.println("Value:- " + stringBuilder);

    stringBuilder.delete(4, 9);
    System.out.println("After deletion :- " + stringBuilder);
}
}

在 Java 中,字符串是不可变对象,除非您重新分配引用,否则它不会指向修改后的对象。

        String str = "Hello work";

        if(str.substring(6).equals("work")) {
            str = str.replace(str.substring(6), "World!");
        }