繁体   English   中英

如何在Java的StringBuilder中替换多个字符?

[英]How do I replace more than one char in StringBuilder in Java?

我有一些String,我想替换其中的一些字符。 一切都运行良好,直到String没有两个或多个相同的字符,该程序仅替换了第一个字符,而我无法更改第二个字符。

StringBuilder userTitleBuilder = new StringBuilder(conversedTitle); 

    while (score>1) {
        userLetter = userInput.next().charAt(0);
        if (movieTitle.contains(String.valueOf(userLetter))) {
            charIndex = movieTitle.indexOf(userLetter);
            userTitleBuilder.replace(charIndex,userTitleBuilder.length(), String.valueOf(userLetter));
            System.out.println(userTitleBuilder);
        } else {
            --score;
            System.out.println("Wrong\nTries left "+score);
        }
    }

这是这段代码的解释:从程序开始,用户的分数等于10。userLetter只是一个字符,它将从用户那里得到一些字母,然后如果语句检查movieTitle变量的字符是否等于刚输入的用户,如果是,charIndex将具有它的位置(但它仅包含第一个索引,如果字上的字母相同,该怎么办?)现在userTitleBuilder替换了具有movieTitle长度那么多“ _”的字符串中的字符,仅覆盖标题。

* movieTitle和userTitleBuilder具有相同的值=“ CocaCola”我不想得到现成的解决方案。 我想要一些提示,如何替换字符串中多个相同的字符

可以使用称为String.replace("old","new")方法。 遵循此文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM