2011-12-03 43 views
0

使用bufferedReader,如何检查一行是否包含字母或数字?检查一行是否包含字母/数字?

我只是觉得这在我的头顶:

readLine().matches("[A-Za-z0-9 ]+") 

你会推荐这个?

+0

你的意思是只有一个字母或只有一个数字(和数字,你的意思是单个或多个数字)? –

+0

除了罗杰的问题,你的意思是至少一个字母/数字还是你的意思只是字母/数字?是允许的行中的特殊字符? – aishwarya

回答

1

从缓冲读取器中读取该行作为字符串,然后迭代字符串的字符,并使用Character.isLetter(char)Character.isDigit(char)来知道当前字符是字母还是数字。

所有类的所有方法都在the javadoc中描述。

只有当该行仅包含由正则表达式指定的字符时,对匹配的调用才会返回true。您需要使用Matcher并调用find来检测STring是否包含[A-Za-z0-9 ]中的一个字符。

请注意,您的模式包含一个空格,它不是字母也不是数字。还请注意,有一大堆信件不在[A-Za-z]中。

相关问题