Ruby:如何检查一个字符串是否包含多个项目?

问题描述:

我熟悉Ruby的include?字符串的方法,但是我怎样才能检查一个字符串的多个东西?Ruby:如何检查一个字符串是否包含多个项目?

具体来说,我需要检查,如果一个字符串包含“转发:”或“FW:”(和应不区分大小写)

实例的字符串将是:“FWD:您的Amazon.com订单已发货”

the_string =~ /fwd:|fw:/i 

您也可以使用类似

%w(fwd: fw:).any? {|str| the_string.downcase.include? str} 

虽然我个人使用正则表达式更好地在这种情况下(尤其是当你在调用downcase喜欢的版本第二个使其不区分大小写)。

+1

谢谢。使用正则表达式...你将如何翻译该行来说“如果the_string没有fwd:| fw:”? – Shpigford 2010-01-21 21:07:27

+0

另外,是否有使用'=〜'的官方术语# – Shpigford 2010-01-21 21:07:59

+1

有'!〜'运算符,它与否定'=〜'的结果完全相同。使用'=〜'通常被称为匹配正则表达式。不知道这是否是一个官方任期。 – sepp2k 2010-01-21 21:18:46