检查字符串是否包含字符串数组

时间:2016-05-02 14:18:33

标签: ruby

我试图找出数组keywords中是否有任何单词:

keywords = Array['hello', 'hi', 'home']

出现在split

split = work.split(' ')

以及keyword中显示的每个split,执行某些操作。

我有这段代码:

for keywords in splitDescription
  score += 2
end

代码只为split中的每个单词提供了2+,但我只想为keywords中出现的每个split提供2 +。

1 个答案:

答案 0 :(得分:4)

在数组上使用set intersection(Array#&):

(splitDescription & keywords).each do |found_keyword|
  # something
end

如果您知道可能会有一些单词重复,并且您希望迭代每次出现:

splitDescription.select { |word| keywords.include?(word) }.each do |word|
  # something
end