基于Spark中精确和部分匹配的过滤列表



嗨,我是一个新手,我有一个场景,其中有2个带有关键字的列表,关键字可以是一个单词或一个短语。我必须滤除列表中出现的关键字(确切匹配),即使列表1中的子字符串都在列表2中找到。

例如。

PosList= List ( "Abc","Spark is awesome","Scala is powerful")
Neglist= List ("Powerful","Abc","Xyz")
Output = List ("Scala is powerful","Abc")

我已经实现了确切的匹配用例。但是在部分比赛中挣扎。

您的帮助将不胜感激。

我也是Scala的初学者,因此以下解决方案可能不是最好的,但它会起作用。以下解决方案可用于与关键字的精确匹配(也是基于substring的精确匹配)

PosList.filter(x => if(x.split(" ").map(y => Neglist.contains(y)).toList.contains(true)) true else false)

相关内容

  • 没有找到相关文章

最新更新