Ruby - 数组中至少有一项也符合要求

标签 ruby regex

给定这个数组:

["/Item A/", "/Item B/"]

还有一行:

Here's a line of text that includes /Item B/

什么是一种好的、惯用的 Ruby 方法来检查该行是否至少包含数组中的一个短语?

最佳答案

几种方式。速度可能取决于阵列和线的大小。可能需要运行一些基准测试来查看:

> a = ["/Item A/", "/Item B/"]
> l = "Here's a line of text that includes /Item B/"

然后使用 any?:

> a.any?{|e| l.index(e)}
=> true

或者使用正则表达式:

> l =~ Regexp.union(a)
=> 36

关于Ruby - 数组中至少有一项也符合要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30851721/

相关文章:

ruby - 连接到后台 EventMachine 应用程序以进行单元测试

Ruby 动态数组 : undefined local variable or method `s' for main:Object (NameError)

ruby-on-rails - 通过关系在 has_many 上使用关联值来过滤事件管理中的表(Rails 4/事件管理)

javascript - 正则表达式仅在 Safari 上失败

javascript - 正则表达式获取两个方括号之间的数字

javascript - 将字符串+Javascript中的多行替换为单行

javascript - Ruby on Rails -> 动态创建 div

javascript - 为什么正则表达式构造函数不起作用?

regex - 如何使用 sed 从文件的第 n 行开始?

ruby-on-rails - Ruby on Rails : After change in view, 网站未更新