如何在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