【问题标题】:Ruby find like string array from an array [closed]Ruby从数组中找到类似字符串数组[关闭]
【发布时间】:2013-10-13 08:52:08
【问题描述】:

假设我有三个数组arr1arr1arr3

arr1 = ["apple", "book", "car", "dog"]
arr2 = ["apple", "book"]
arr3 = ["app", "boo"]

如何检查 arr1 是否包括:arr2arr3 以及类似的通配符。

【问题讨论】:

  • 您能否编辑您的回答并提供一些示例,提供一些示例输入以及您对输出的期望。
  • 我的意思是检查arr2和arr3是否都在arr1中。
  • @hudadiaz 你真的想检查 arr2 的所有 元素 是否包含在 arr1 中,或者是否所有 arr3 模式 位于arr1
  • @Stefan 是的,就是这样。

标签: ruby arrays search


【解决方案1】:

你可以使用Enumerable#grep:

arr3.all? { |item| arr2.grep(/#{item}/)[0] }
#=> true

这匹配子字符串(例如ook),仅匹配前缀使用/^#{item}/

【讨论】:

  • grep 返回一个数组。
  • 是的..我知道..我正在检查你为什么要检查的第一个元素? :) 为什么不Array#empty?
  • 只是因为它有点短:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多