我在用另一个字符串替换字符串中的特定字符时遇到问题。问题是我可以找出删除旧字符的方法,并且使字符和字符串彼此相邻。这是我直到现在所做的。

public class zeichenErsetzen {
public static String ersetzeZeichen(String w,char b,String v){
    String ersetzt="" ;
    for(int i=0;i<w.length();i++){
        ersetzt += w.charAt(i);
        if(w.charAt(i)==b)
            ersetzt +=v ;
    }
    return ersetzt;
}
public static void main(String []args){
    String str = "Dies ist ein i";

    System.out.println(ersetzeZeichen(str, 'i', "ast"));
}


}

这就是我得到的我用这个


Diastes iastst eiastn iast


这就是应该的样子


东方风味

最佳答案

您的问题出在这里:

ersetzt += w.charAt(i);
if(w.charAt(i)==b)
    ersetzt +=v;


您正在添加每个字母,无论它是否要替换。
添加其他else来解决此问题。

if(w.charAt(i)==b) {
    ersetzt +=v;
}
else {
    ersetzt += w.charAt(i);
}


现在,仅当字母与您要替换的字母不匹配时才添加。

10-07 15:22