2014-09-19 48 views
0

有沒有方法檢查字符串是否包含數組中的任何子字符串?檢測字符串是否有來自可能性數組的子字符串

說我有bad_words = ['broccoli', 'cabbage', 'kale']my_string = "My shopping list features pizza, gummy bears, kale, and vodka."我要檢查my_string是否有其中的bad_words項目不使用循環/迭代器。這可能嗎?

好像人用Array#index來解決這個問題,但我不知道怎麼樣,因爲,在我的測試中,它只返回true如果整個爭論從陣列整個項目匹配:bad_words.index "kale"返回一個索引,但bad_words.index "no kale"返回nil。所以對於子字符串沒有好處。

回答

1
my_string =~ /\b#{Regexp.union(bad_words)}\b/ 
#=> 46 

會做。

+1

聰明有效,我不會想到這一點。謝謝! – GreenTriangle 2014-09-19 04:03:15

相關問題