从另一个数组中排除字符串数组元素

时间:2013-10-02 21:14:18

标签: ruby arrays

我有两个字符串数组,我需要从包含第二个元素的元素中排除元素。

strings = ["chairs are on sale today", "my dog likes bumblebees", "one bad apple", "most snow is green"]

nouns = ["chair", "stove", "apple"]

理想的结果是包含

的数组(新的或修改过的字符串)
["my dog likes bumblebees", "most snow is green"]

如果这是完全匹配,我可以使用内置函数:

result = strings - nouns
但是很明显,这不会在这里工作。

使用grep,select或其他一些ruby函数有没有一种简单的方法呢?

谢谢!

1 个答案:

答案 0 :(得分:4)

strings.reject { |string| string =~ Regexp.union(nouns) }