Как проверить, содержит ли строка несколько значений, и игнорировать регистр с помощью StringUtils - PullRequest
1 голос
/ 20 июня 2019

Я написал метод, чтобы проверить, содержит ли строка различные значения.

  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 ]

4 голосов
/ 20 июня 2019

Попробуйте

List("metric_2", "metric_3")
  .map(_.toLowerCase)
  .contains(metricValue.toLowerCase)
1 голос
/ 20 июня 2019

Если вы хотите использовать StringUtils:

def validateString(metricValue: String): Boolean =
  List("metric_2", "metric_3").exists(metricToCheck => StringUtils.containsIgnoreCase(metricValue, metricToCheck))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...