Если ваши данные анализируются и хранятся в виде строк, это можно сделать, например, так.
n = ["998700", "1001900", "009987", "0010019"]
puts n.map { |i|
i =~ /^0*([0-9]+?)0*$/
"00" + $1 + "0" * [0, 6 - $1.length].max
}
Выход:
00998700
00100190
00998700
00100190
Этот пример на кодовой панели .
Но я очень уверен, что я правильно понял описание. Пожалуйста, проверьте комментарии, и я исправляю их, если это не то, что вы искали.