我有一个用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);
}
}
函数越来越密集,我只覆盖了数字。有什么想法吗?
最佳答案
您可以使用一个简单的正则表达式:
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/