使用bufferedReader,如何检查一行是否包含字母或数字?
我只是想到了这一点:
readLine().matches("[A-Za-z0-9 ]+")
你会推荐这个吗?
答案 0 :(得分:1)
从缓冲的阅读器中读取该行作为字符串,然后遍历字符串的字符,并使用Character.isLetter(char)
和Character.isDigit(char)
来了解当前字符是字母还是数字。 / p>
所有类的所有方法都在the javadoc中描述。
只有当该行包含仅正则表达式指定的字符时,对匹配的调用才会返回true。您需要使用匹配器并调用find来检测STring是否包含[A-Za-z0-9 ]
中的一个字符。
请注意,您的图案包含一个空格,该空格不是字母也不是数字。另请注意,有一整套信件不在[A-Za-z]
。