忽略scala中字符串的大小写

Posted

技术标签:

【中文标题】忽略scala中字符串的大小写【英文标题】:Ignore case for a string in 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

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

【问题讨论】:

String.equalsIgnoreCase ***.com/questions/14018478/… 【参考方案1】:

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

s.toLowerCase.contains("abcd")

但很可能您正在寻找

s.equalsIgnoreCase("abcd")

【讨论】:

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

使用正则表达式

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

【讨论】:

以上是关于忽略scala中字符串的大小写的主要内容,如果未能解决你的问题,请参考以下文章

如何在忽略大小写的sql中比较字符串?

如何在erlang中匹配子字符串忽略大小写

SQL-搜索字符串时忽略大小写

比较两个字符串,在 C# 中忽略大小写 [重复]

在 Pandas 中拆分字符串忽略大小写

如何让字符串数组的Contains忽略大小写