Compare one String with multiple values in one expression
java, regex, string
Solution
I found the better solution. This can be achieved through RegEx:
if (str.matches("val1|val2|val3")) {
// remaining code
}
For case insensitive matching:
if (str.matches("(?i)val1|val2|val3")) {
// remaining code
}
Problem
I have one String variable, `str` with possible values, `val1`, `val2` and `val3`. I want to compare (with equal case) `str` to all of these values using an if statement, for example: ``` if("val1".equalsIgnoreCase(str)||"val2".equalsIgnoreCase(str)||"val3".equalsIgnoreCase(str)) { //remaining code } ``` Is there a way to avoid using multiple OR (||) operators and compare values in one expression? For example, like this: ``` if(("val1" OR "val2" OR "val3").equalsIgnoreCase(str) //this is only an idea. ```