按 space 而非 returns 所有元素拆分字符串

Splitting string by space not returns all of the elements

当我尝试根据 space 作为分隔符拆分字符串,然后像下面那样在其上应用 contains 方法时

"no EJAVA here".contains("JAVA")
res0: Boolean = true

对于那个字符串,当我尝试使用 string_var.contains("JAVA") 时,它 returns 是正确的,但是当我使用

尝试它时
"no EJAVA here".split(" ").contains("JAVA")
res1: Boolean = false

那么它 returns 错误,Array[String] 是搜索数组的完整元素还是匹配单个元素中的子字符串?

它正在返回所有拆分的字符串。它找不到 "JAVA" 的原因是因为包含拆分字符串的数组中没有元素等于 JAVA 。虽然,如果您键入:

 string_var.split(" ").contains("""JAVA",[http://collaboratory.emsl.pnl.gov/docs/collab/sam/CodeStandards.html""")

,您将获得:

res: Boolean = true

REPL 中的一个简单测试证明了这个问题。

scala> "no EJAVA here".contains("JAVA")
res0: Boolean = true

scala> "no EJAVA here".split(" ").contains("JAVA")
res1: Boolean = false

String 上的 contains() 方法将查找任何子字符串,但 Array[String] 上的 contains() 方法只会匹配数组,而不是元素中的子字符串。