私は2つの配列を持っています:
a = ["X2", "X3/X4", "X5/X6/X7", "X8/X9/X10/X11"]
b = ["X9/X10", "X3/X4"]
ここで、配列「b」のエントリのいずれかと正規表現する「a」配列からエントリを選択する必要があります。
期待される結果は次のとおりです。
["X3/X4", "X8/X9/X10/X11"]
Rubyでこれを行うにはどうすればよいですか?
私はするだろう:
a.grep(Regexp.union(b))
# => ["X3/X4", "X8/X9/X10/X11"]
これはうまくいくはずです:
a.grep(/#{b.join('|')}/)
# => ["X3/X4", "X8/X9/X10/X11"]
以下を試してください:
a = ["X2", "X3/X4", "X5/X6/X7", "X8/X9/X10/X11"]
b = ["X9/X10", "X3/X4"]
p a.select{|i| b.any?{|j| i.include? j }}
#>> ["X3/X4", "X8/X9/X10/X11"]