如何替换除一个用户输入字符串中的所有字符

时间:2011-10-29 16:17:18

标签: java character replace

我目前正处于入门级Java课程,正在研究经典短语猜测任务。对象是一个用户输入一个秘密短语,另一个用户一次猜一个字母。在猜测之间,短语必须显示为除了正确猜测的字母之外的所有问号。我们的类只覆盖了一些非常基本的方法,if-else语句和循环到目前为止,但我正在尝试研究一些可能使这更容易的字符串方法。

我知道replace()replaceAll()contains()方法,但想知道是否有一种方法可以让您在字符串中替换所选择的所有字符。

提前致谢

1 个答案:

答案 0 :(得分:16)

最简单的方法可能是使用String.replaceAll()

String out = str.replaceAll("[^a]", "?");

这将使所有字母a保持不变,并将用问号替换所有其他字符。

这可以很容易地扩展到多个字符,如下所示:

String out = str.replaceAll("[^aeo]", "?");

这将保留所有字母aeo,并将替换其他所有字母。