检查句子是否包含数组中的任何单词

Gur*_*ngh -1 ruby ruby-on-rails ruby-on-rails-4

splitDescription = work.workdescription.downcase.split(' ')

keywords = ['teamwork', 'developed', 'enhanced', 'transformed', 'achieved','grew', 'introduced', 'project', 'awarded',
             'planned','supervised','created','designed','discovered','evaluated','promoted','represented','completed',
             'devised','liaised','controlled','researched','organised','achieved','managed','analysed','assessed','conducted',
             'solved','responsible for','responsibilities']

splitDescription.select {|word| word.include?(keywords)}.each do |word|
    new_score += 0.5
end
Run Code Online (Sandbox Code Playgroud)

我有一个splitDescription拆分并存储描述.

我想看看是否有任何关键字都在splitDescription和每个keywordsplitDescriptionnew_score0.5上升.

我正在尝试此代码,但它无法正常工作.

Ale*_*kin 7

你快到了:

splitDescription.select { |word| keywords.include?(word) }
Run Code Online (Sandbox Code Playgroud)

因为这里keywords是一个查找单个数组的数组word.

更强大的解决方案是:

new_score += 0.5 * (splitDescription & keywords).size
Run Code Online (Sandbox Code Playgroud)

后者将与keywords数组和分裂描述相交,计算交集的大小并将该分数增加该值除以2.

  • 我也推荐使用交叉点的解决方案. (2认同)