如果我有字符串"hello8459"和"1234",我将如何检测哪个字符串中包含字母字符?我一直在努力:
//Checking for numerics in an if...
Pattern.matches("0-9", string1);
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用.任何人都可以建议吗?
一方面,你问的是如何检测字母表字符,但你的代码似乎试图检测数字.
对于数字:
[0-9]
Run Code Online (Sandbox Code Playgroud)
对于字母:
[a-zA-Z]
Run Code Online (Sandbox Code Playgroud)
"0-9"只匹配,字符串:"0-9".您可能要做的是"[0-9] +",它匹配一个或多个数字.
你可以使用String的match(...)方法:
boolean onlyDigits = "1234578".matches("\\d+");
Run Code Online (Sandbox Code Playgroud)
但是,在检查'onlyDigits'之后,在解析为原始int或长时间时要小心:它可能是一个很大的数字,如123145465124657897456421345487454,它不适合原始数据类型但通过匹配(...)测试!