[英]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.