java检查一行代码中输入的字符串

时间:2014-02-06 18:09:36

标签: java string

这是我检查q

的代码
while (!inputs.contains("q"))

如何在此添加多个字符,例如q和Q. 或者,如果我喜欢5个不同的字母。问:

谢谢!

5 个答案:

答案 0 :(得分:3)

regex是一种优雅的方式(但你必须学习Java以外的basics)。我也喜欢Intellij中的正则表达式测试器(可能是eclipse也提供类似的)

这样的事情应该有助于while(!inputs.matches("[qwertQWERT]"))

答案 1 :(得分:1)

这个怎么样?

while (!inputs.contains("q") ||  !inputs.contains("Q") || !inputs.contains("e"))
{
    // Code Here.....
}

依此类推其他终止字符

您可以使用正则表达式(以及matches()方法):

while (!input.matches("[qwertQWERT]")

答案 2 :(得分:0)

while (!inputs.contains("q") || 
            !inputs.contains("Q") ||
            !inputs.contains("e") || !inputs.contains("w") || !inputs.contains("r") )

    {

        }

答案 3 :(得分:0)

如果你要找的是单个字符,你可以使用正则表达式字符类:

Pattern = Pattern.compile("[qwert]+");
while (!p.matcher(inputs).matches()) {
    ...

您需要转义正则表达式中任何特殊字符的字符。如果您需要匹配多个字符,例如尝试匹配“退出”,这将无效。

答案 4 :(得分:0)

我建议你使用ApacheCommons的StringUtils.containsAny并使用toUpperCase()(或toLowerCase())方法来涵盖这两种情况:

String input = "Q";
String matcher = "qwert";
while (StringUtils.containsAny(input.toUpperCase(), matcher.toUpperCase().toCharArray()))   
{
    //something
}