配列のある要素を2つの要素で置き換えたい

あまりいい例が思いつかないんだけど、例えばこんなのとか。

a.collect! do |i|
  if i.match("http://d.hatena.ne.jp/negaton/") then
    [i+"20070419/", i+"20070416/"]
  else
    i
end
a.flatten!

もうちょっといい書き方がある気がするんだけど…。
each_indexで回しながらinsertで挿入したりした方がいいのかな?