按空格拆分字符串不会返回所有元素

时间:2017-04-13 04:21:56

标签: scala scala-collections

当我尝试将基于空格的字符串拆分为分隔符,然后对其应用contains方法,如下所示

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

当我尝试使用string_var.contains(“JAVA”)时该字符串然后返回true,但是当我尝试使用

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

然后它返回false,是Array [String]搜索数组的完整元素还是匹配单个元素的子字符串?

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:0)

返回所有拆分字符串。它没有找到" JAVA"是因为包含拆分字符串的数组中的元素不等于JAVA。但是,如果输入:

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

,你会得到:

res: Boolean = true