如何检查字符串是否包含多个值并使用 StringUtils 忽略大小写



我写了一个方法来检查字符串是否包含各种值。

  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))

最新更新