【发布时间】:2016-12-22 20:23:33
【问题描述】:
这里是 Scala 初学者,我正在尝试查找所有 在给定的关键字列表中包含至少一个关键字的推文。
在哪里发推文:
case class Tweet(user: String, text: String, retweets: Int)
举个例子Tweet("user1", "apple apple", 3)
如果在推文的文本中可以找到列表关键字中的至少一个关键字,则 wordInTweet 应该返回 true。
我尝试如下实现它:
def wordInTweet(tweet: Tweet, keywords: List[String]): Boolean = {
keywords.exists(tweet.text.equals(_))
}
但是,如果推文的文本是 music 并且给定关键字的文本是 musica,它也会返回 true。
我正在努力寻找一种仅在推文时返回 true 的方法 包含完全相同的关键字文本。
我怎样才能做到这一点?
提前致谢。
【问题讨论】:
-
看起来下面的回答对你有用,但考虑List#sliding:
scala> "my tweet".sliding("my".size).toList res2: List[String] = List(my, "y ", " t", tw, we, ee, et)
标签: scala pattern-matching match contains