这是我检查q
的代码while (!inputs.contains("q"))
如何在此添加多个字符,例如q和Q. 或者,如果我喜欢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
}