我试图找出数组keywords
中是否有任何单词:
keywords = Array['hello', 'hi', 'home']
出现在split
:
split = work.split(' ')
以及keyword
中显示的每个split
,执行某些操作。
我有这段代码:
for keywords in splitDescription
score += 2
end
代码只为split
中的每个单词提供了2+,但我只想为keywords
中出现的每个split
提供2 +。
答案 0 :(得分:4)
在数组上使用set intersection(Array#&
):
(splitDescription & keywords).each do |found_keyword|
# something
end
如果您知道可能会有一些单词重复,并且您希望迭代每次出现:
splitDescription.select { |word| keywords.include?(word) }.each do |word|
# something
end