我想检查下面字符串的括号部分。如果括号部分包含在字符串中,则应打印“包含”。但就我而言,它正在打印“不包含”。
String synonym = "security (generic term)"
synonym = synonym.replaceAll("\\p{P}","");
if ((!synonym.contains("generic term")) || (!synonym.contains("similar term"))
(!synonym.contains("related term")) || (!synonym.contains("antonym"))) {
System.out.println("Not Contain);
} else {
System.out.println("Contain);
}
最佳答案
if ((!synonym.contains("generic term")) || (!synonym.contains("similar term"))
(!synonym.contains("related term")) || (!synonym.contains("antonym")))
除非
synonym
包含所有这些术语,否则它将为true。 (因为||
条件。即,即使它确实包含一个条件,也不会包含其他条件之一,从而使其中一个条件的值为true。)要解决此问题,请使用
&&
:if ((!synonym.contains("generic term")) && (!synonym.contains("similar term"))
(!synonym.contains("related term")) && (!synonym.contains("antonym")))