java - 替换字符串中的字符?

标签 java string

我在用另一个字符串替换字符串中的特定字符时遇到问题。问题是我可以弄清楚删除旧字符,并且我得到的字符和字符串彼此相邻。这就是我到目前为止所做的。

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/

相关文章:

java - 不使用 Java Matcher 和 Pattern API 删除特殊字符

java - 带有 MemoryMappedFile 和中断文件的 Log4j2

java - 设置其他方法识别的变量

string - 从字符串打印字符给出不同的结果

java - String = null 和 String.isEmpty 之间有什么区别?

python - 基于 2 个整数列表提取字符串。 Python

macos - 如何在 Mac OS X 上获取 JDK 1.5

java - com.liferay.util.PwdGenerator

java - 控制 Android 媒体播放器

在 R 中使用 gsub 替换以模式开头的整个单词