【问题标题】:Ignore case for a string in scala忽略scala中字符串的大小写
【发布时间】:2016-11-11 02:01:43
【问题描述】:

考虑:

object HelloWorld {
  def main(args: Array[String]): Unit = {

    val s:String = "AbcD"

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

  }
}

输出:

false
true

无论哪种情况,我都需要结果在这两种情况下都是正确的。有可能吗?

【问题讨论】:

标签: scala case-sensitive case-insensitive


【解决方案1】:

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

s.toLowerCase.contains("abcd")

但很可能您正在寻找

s.equalsIgnoreCase("abcd")

【讨论】:

  • 只是指出,如果contains 的参数是动态的,他们将需要为此调用toLowerCase,以便完全不区分大小写。
【解决方案2】:

使用正则表达式

println(s.matches("(?i:.*" + "ABCD" + ".*)"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2011-02-06
    • 2019-12-03
    • 2013-04-11
    相关资源
    最近更新 更多