当我尝试将基于空格的字符串拆分为分隔符,然后对其应用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]搜索数组的完整元素还是匹配单个元素的子字符串?
答案 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