插入

2016-12-06 21 views
-1

我有以下的字符串和數組:插入

a = '1, 2, 3, 4, 5, 6, 7, 8' 
b = ['9', '10', '11', '12'] 

我需要每第n個逗號(2在這個例子中)之後插入B的元件插入,導致:

a = '1, 2, 9, 3, 4, 10, 5, 6, 11, 7, 8, 12' 

我一直在玩弄各種形式的scan但似乎無法產生預期的效果。

有沒有一種簡單的方法可以做到這一點?

+2

請看[這個問題](http://stackoverflow.com/questions/40991417/inserting-an-array-into-every-nth-element-of-another/40991568),並嘗試像你的問題。 – 31piy

+0

@ 31piy:注意什麼?它是相同的OP:D –

+0

確實 - 道歉,但似乎是一個不同的問題 - 我會把第一個變成一個數組,並刪除這個問題? – Mark

回答

0

使用a.split(', '),您的上一個問題的任何解決方案和join(', ')

隨着信用@Stefan:

a = '1, 2, 3, 4, 5, 6, 7, 8' 
b = ['9', '10', '11', '12'] 

enum = Enumerator.new do |y| 
    e1 = a.split(',').each 
    e2 = b.each 
    loop do 
    y << e1.next.strip << e1.next.strip << e2.next 
    end 
end 

puts enum.to_a.join(', ') 

#=> 1, 2, 9, 3, 4, 10, 5, 6, 11, 7, 8, 12 

你也可以使用這個,如果你是確保每一個數字用逗號分隔的空間:

enum = Enumerator.new do |y| 
    e1 = a.split(', ').each 
    e2 = b.each 
    loop do 
    y << e1.next << e1.next << e2.next 
    end 
end 
+0

是不是從這裏複製http://stackoverflow.com/questions/40991417/inserting-an-array-into-every-nth-element-of-another#answer-40992356 –

+0

是的。相同的OP,幾乎相同的問題,幾乎相同的答案。我在回答中提到@Stefan。 –