在Scala中忽略字符串大小写

6
考虑以下内容:
object HelloWorld {
  def main(args: Array[String]): Unit = {

    val s:String = "AbcD"

    println(s.contains("ABCD"))
    println(s.contains("AbcD"))

  }
}

输出:

false
true

我希望无论大小写如何,都能使结果为真。这是否可能?


1
请参见 String.equalsIgnoreCase - jub0bs
https://dev59.com/cGYr5IYBdhLWcg3wAFvE - insan-e
2个回答

25

如果你真的需要使用 contains,那么请使用

s.toLowerCase.contains("abcd")

但最有可能的是你在寻找

s.equalsIgnoreCase("abcd")

5
提醒一下,如果contains的参数是动态的,他们也需要对其调用toLowerCase,以实现完全不区分大小写。 - jcern

2
使用正则表达式
println(s.matches("(?i:.*" + "ABCD" + ".*)"))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接