有没有一种很好的方法来检查一个字符串是否包含一个字符串数组中的至少一个字符串?

ben*_*ben 6 ruby string ruby-on-rails ruby-on-rails-3

string.include?(other_string)用于检查字符串是否包含另一个字符串.有没有一种很好的方法来检查一个字符串是否包含一个字符串数组中的至少一个字符串?

string_1 = "a monkey is an animal. dogs are fun"

arrays_of_strings_to_check_against = ['banana', 'fruit', 'animal', 'dog']
Run Code Online (Sandbox Code Playgroud)

这将返回true,因为string_1包含字符串'animal'.如果我们删除'animal'arrays_of_strings_to_check_against,它会返回false.

请注意,字符串'dog'arrays_of_strings_to_check_against不应与'dogs'string_1,因为它是一个完整的比赛.

我正在使用Rails 3.2.0和Ruby 1.9.2

xda*_*azz 7

arrays_of_strings_to_check_against.map{ |o| string_1 =~ /\b#{Regexp.escape(o)}\b/ }.any?
Run Code Online (Sandbox Code Playgroud)

甚至:

arrays_of_strings_to_check_against.any?{ |o| string_1 =~ /\b#{Regexp.escape(o)}\b/ }
Run Code Online (Sandbox Code Playgroud)