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

时间:2019-06-20 11:50:26

标签: string scala

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

  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的东西。

是否有一种方法可以检查字符串中是否存在多个值而忽略大小写?

2 个答案:

答案 0 :(得分:4)

尝试

List("metric_2", "metric_3")
  .map(_.toLowerCase)
  .contains(metricValue.toLowerCase)

答案 1 :(得分:1)

如果您想使用StringUtils

def validateString(metricValue: String): Boolean =
  List("metric_2", "metric_3").exists(metricToCheck => StringUtils.containsIgnoreCase(metricValue, metricToCheck))