2

私は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でこれを行うにはどうすればよいですか?

4

4 に答える 4

4

私はするだろう:

a.grep(Regexp.union(b))
# => ["X3/X4", "X8/X9/X10/X11"] 
于 2013-07-11T13:42:30.580 に答える
2

これはうまくいくはずです:

a.grep(/#{b.join('|')}/)
# => ["X3/X4", "X8/X9/X10/X11"]
于 2013-07-11T13:39:10.650 に答える
2

以下を試してください:

 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"]
于 2013-07-11T13:39:14.303 に答える