1

私はJavaで作成された絞首刑執行人のゲームを持っています。入力された単語に空白や特殊文字が含まれているかどうかをチェックする簡単な関数を作成したいと思います。

関数String.replaceAll()を見つけましたが、特別な文字や空白がある場合にブール値を返す既成の関数を掘り下げることができませんでした。

すでにそこに機能はありますか?または、少なくとも次のことを行う以外に、空白や特殊文字を指定しない簡単な方法はありますか?

public  void checkWord()
    {
        boolean flag = false;
        for(int i=0;i<wordArray.length;i++)
        {
            if(wordArray[i] == '1' || wordArray[i] == '2' || wordArray[i] == '3' || wordArray[i] == '4' || wordArray[i] == '5' || wordArray[i] == '6' || wordArray[i] == '7' || wordArray[i] == '8' || wordArray[i] == '9'  )
            {
                flag = true;
            }
        }
        if(flag == true)
        {
            System.out.println("Invalid characters used in the word");
            System.exit(0);
        }
    }

関数が密になりつつあり、私は数字だけをカバーしました。考え?

4

1 に答える 1

4

単純な正規表現を使用できます。

public boolean isValidWord(String w) {
    return w.matches("[A-Za-z]*");
}

正規表現の説明:

[A-Za-z] - capital or lowercase letter
*        - zero or more

正規表現の詳細:http://www.regular-expressions.info/

于 2013-01-31T02:04:00.467 に答える