如果在scala中它们之间有空格,是否有任何正则表达式匹配子字符串?
例如:
"hero 6 go pro" contains "gopro" should return true
"go pro hero 6 " contains "gopro" should return true
我尝试过:
def matchWords(input: Seq[Char], words: Seq[Char]): Boolean = (input, words) match {
case (Seq(), Seq() | Seq(' ', _*)) => true
case (Seq(), _) => false
case (Seq(a, tail@_*), Seq(b, rest@_*)) if a == b => matchWords(tail, rest)
case (_, Seq(' ', rest@_*)) => matchWords(input, rest)
case _ => false
}
但是
matchWords(“ gopro”,“ hero 6 go pro”)返回false
尽管此matchWords(“ fitbit”,“ fit bit versa”)返回true。
字符串应与名词匹配。
你知道我在做什么错吗?
谢谢, 沙利尼
答案 0 :(得分:0)
与您具有相同“名称”的用户已经提出了一个非常相似的问题here,并获得了多个答案,其中包括one from me。
您问题中的代码似乎是从其他答案中复制的。不幸的是,您选择了得分最低的答案,却无法给出正确的结果。
我建议您从这个问题中尝试我的答案...