2016-08-30 18 views
0

は、私はこのような配列があります。RSpecの配列の一致部分文字列のタイムスタンプ

["xxxxxxxxx", 448, "2016-08-29", 1, "Trading", 53, "Trading", 2016-06-03 00:00:00 -0500, 2016-06-03 00:00:00 -0500, "RBS", "USD", "United States Dollar", nil, 2016-10-08 00:00:00 -0500, 2016-09-08 00:00:00 -0500, "2016-09-08 00:00:00 -0500","lcz076", nil, 5, 2016-10-08 00:00:00 -0500, 2016-09-08 00:00:00 -0500, "9", 448, "P", nil] 

をそして私は、この値は、私はそれを行うにはどうすればよいだけ"2016-09-08 00:00:00"

の値と一致する必要がありますか?

+0

は、あなたはそれが内部にあるかどうかをチェックしますか? '.include? 'を使用してください。 –

答えて

0

まずこの後、私はあなたが-0500そうすることができますを持ってチェックしたいタイプの日付のすべてに気づい変数a

a = ["xxxxxxxxx", 448, "2016-08-29", 1, "Trading", 53, "Trading", "2016-06-03 00:00:00 -0500, 2016-06-03 00:00:00 -0500"...

に設定Strings

にすべての日付を変換します配列をこのループでループして取り出します。

new_str[i] = str.slice(0..(str.index('-0500')))

今、あなたはちょうどあなたが持っていると仮定し.include?("stuff here")

+0

常に最後の5桁ですので、代わりに最後の5つをスライスします –

+0

これを参照してくださいhttp://stackoverflow.com/questions/4486709/how-do-remove-substring-after-a - 文字列を使用する - ルビー文字、あなたは多くを学ぶでしょう。 –

0

を使用することができます。

a = ["xxxxxxxxx", 448, "2016-08-29", 1, "Trading", 53, "Trading", "2016-06-03 00:00:00 -0500", "2016-06-03 00:00:00 -0500", "RBS", "USD", "United States Dollar", nil, "2016-10-08 00:00:00 -0500", "2016-09-08 00:00:00 -0500", "2016-09-08 00:00:00 -0500", "lcz076", nil, 5, "2016-10-08 00:00:00 -0500", "2016-09-08 00:00:00 -0500", "9", 448, "P", nil] 

RSpecの期待は次のようになります。

matches = a.select{ |x| x.to_s.match("2016-09-08 00:00:00") } 
expect(matches).not_to be_empty 
関連する問題