2011-10-29 9 views
5

私は現在入門レベルのJavaクラスにあり、古典的なフレーズ推測の割り当てに取り組んでいます。このオブジェクトは、あるユーザーが秘密のフレーズを入力するためのもので、もう1つは一度に1文字ずつ推測することです。推測の間に、正しく推測された文字を除いて、すべての疑問符として句を表示する必要があります。私たちのクラスでは、if-elseステートメントとループまで、いくつかの非常に基本的なメソッドしか扱っていませんでしたが、これをもっと簡単にする文字列メソッドを調べようとしています。1つを除くユーザー入力文字列内のすべての文字を置き換える方法

私はreplace()replaceAll()と方法を知っているが、あなたは、文字列内のすべてが、あなたの好みの1つの文字を置換することを可能にする方法があるかどうかと思いまして。事前

答えて

13

おかげで最も簡単な方法は、String.replaceAll()を使用することが考えられます:

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

これはそのまま、すべての文字aを残すだろうと疑問符を他のすべての文字を置き換えます。

この

は簡単にそうように、複数の文字に拡張することができます。これは、すべての文字 aeoを維持し、他のすべてを置き換えます

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

+0

大変感謝しています。さて、別の文字列(たとえば、文字列を含むかもしれない文字にユーザーの推測を格納する文字列)を参照することはできますか?あるいは、これには過渡的なアプローチが必要ですか? – awfulwaffle

+0

@ user1019310:あなたはすぐに正規表現を構築できます: '' [^ "+ chars +"] "'、 '' chars''は除外する文字を含む文字列です。 – NPE

+0

^^^完璧です、それは絶対に必要なものです。誰も助けてくれてありがとう。もし私がそれ以上の壁に遭遇すれば、私は投稿します。 – awfulwaffle