Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中检查字符串是否包含至少一个字母字符和至少一个数字字符?_Java_String - Fatal编程技术网

如何在java中检查字符串是否包含至少一个字母字符和至少一个数字字符?

如何在java中检查字符串是否包含至少一个字母字符和至少一个数字字符?,java,string,Java,String,是否有任何常见/标准的方法来检查字符串是否至少包含一个字母和一个数字字符。就像在这种情况下: checkString("AAAA") = false checkString("A2B2") = true checkString("2222") = false 我想使用,但在本例中:StringUtils.isAlphanumeric(“AAAA”)它给出了true。 我知道它可以通过字符上的迭代来编写,但也许还有其他方法可以做到

是否有任何常见/标准的方法来检查
字符串是否至少包含一个字母和一个数字字符。就像在这种情况下:

 checkString("AAAA") = false
 checkString("A2B2") = true
 checkString("2222") = false
我想使用,但在本例中:
StringUtils.isAlphanumeric(“AAAA”)
它给出了
true

我知道它可以通过字符上的迭代来编写,但也许还有其他方法可以做到这一点。

您肯定可以使用一些奇特的方法来检查这一点,比如正则表达式。但我只是建议对类似的事情使用迭代而不是字符

迭代非常容易阅读,每个人都能理解这一点,即使是从未见过Java的初级开发人员

此外,像这样的简单迭代非常快,可以使用JIT编译器进行优化


您不必使用火箭发射器杀死苍蝇:-)

迭代字符串的每个字符,并检查每个字符是否为字母或数字。您可以声明两个bool变量来保存结果。 例如:


无论何时找到数字或字母字符,请从上面更改相应的bool变量。然后在迭代结束时,检查
foundAlpha&&foundNumeric
是否为真。

是的,一个简单的正则表达式将根据java文档执行以下操作
返回:如果只包含字母或数字,而且是非空的
我担心迭代是解决这个问题的方法…@Stultuske如果你尝试实现一个简单的正则表达式,你就会知道正则表达式有多复杂。如果性能非常关键,那么您应该避免使用正则表达式,使用经典的方法而不是字符。这是否回答了您的问题?
foundAlpha = false
foundNumeric = false