我在用另一个字符串替换字符串中的特定字符时遇到问题。问题是我可以弄清楚删除旧字符,并且我得到的字符和字符串彼此相邻。这就是我到目前为止所做的。
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
这就是它应该的样子
Dastes astst eastn ast
最佳答案
你的问题出在这里:
ersetzt += w.charAt(i);
if(w.charAt(i)==b)
ersetzt +=v;
您将添加每个字母,无论它是否是您想要替换的字母。
添加额外的 else
来解决此问题。
if(w.charAt(i)==b) {
ersetzt +=v;
}
else {
ersetzt += w.charAt(i);
}
现在,仅当字母不与您要替换的字母匹配时,才会添加该字母。
关于java - 替换字符串中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42160175/