我写了一个方法来检查字符串是否包含各种值。
def validateString(metricValue: String): Boolean = {
(!StringUtils.containsIgnoreCase(metricValue, "metric_1")
&& StringUtils.containsIgnoreCase(metricValue, "metric_2")
|| StringUtils.containsIgnoreCase(metricValue, "metric_3")
}
然后我决定将最后两次检查减少到一次,但没有发现任何可能对commons-lang-2.6
有帮助的东西。我知道lang 3
中也有类似的方法:StringUtils.equalsAnyIgnoreCase(str, "val1", "val2", "val3"))
。但我需要像containsAnyIgnoreCase
这样的东西.
有没有办法检查字符串中是否存在忽略大小写的多个值中的任何一个?
尝试
List("metric_2", "metric_3")
.map(_.toLowerCase)
.contains(metricValue.toLowerCase)
如果要使用 StringUtils
:
def validateString(metricValue: String): Boolean =
List("metric_2", "metric_3").exists(metricToCheck => StringUtils.containsIgnoreCase(metricValue, metricToCheck))