我知道通过使用contains,您可以检查String是否包含某些单词或其他内容。但是有一个!包含方法吗?例如,我希望它检查字符串以查看它是否包含单词“like”,但我也希望它检查它是否包含单词“not”。那可能吗?
if (text.contains("like")&&text.!contains("not")){
System.out.println("Is that a trick question? Yes.");
x = 1;}
答案 0 :(得分:6)
你的语法很接近。就是这样,
String text = "like yes";
if (text.contains("like") && !text.contains("not")) {
System.out.println("like yes");
}
text = "like not";
if (text.contains("like") && !text.contains("not")) {
System.out.println("like not");
}
输出
like yes
答案 1 :(得分:1)
!
是一元运算符,就像用于计算数字负数的一元-
一样。要使用它,您需要编写一个值为boolean
(或Boolean
)并将!
放在其前面的表达式;你可能不得不把表达式括在括号中。
text.contains("not")
是一个表达式。具体来说,它是一个返回boolean
的方法调用。并且返回值的方法调用是表达式。因此,要获得表达式的反函数,请将!
放在其前面。
有时您必须使用括号来获得正确的分组,例如
!(text.length() == 0 || text.contains("abc"))
检查一个或另一个是否为真,然后如果任一部分为真,则给出false
。你可以写
!(text.contains("not"))
但没有必要。
但要记住的关键是!
是一个运算符,你可以像其他运算符一样使用它。如果你记得的话,你不应该对它放在哪里感到困惑。