Ruby:搜索字符串以查找多个搜索词

时间:2012-03-30 06:13:53

标签: ruby-on-rails ruby ruby-on-rails-3 string

我想做以下事情:

 if params[:entry].include? ("http" || "www" || "com" || "abc" || "def")
     ...
 end

我尝试使用正则表达式,但它不起作用(无法将正则表达式转换为字符串),如果我们搜索的字符串在params中出现 where ,我需要声明返回true :条目]

使用Ruby / Rails执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

不会params[:entry].match(/(http|www|com|abc|def)/)做这个伎俩吗?

String pattern to regexp - String#match

答案 1 :(得分:2)

除了Wukerplank的答案,你可能想要在任何情况下(下/上)匹配这些字符串,你可以这样改变一点正则表达式:

params[:entry].match(/(http|www|com|abc|def)/i)

当然,如果您愿意,可以使用=~运算符代替字符串上的调用匹配:

params[:entry] =~ /(http|www|com|abc|def)/i