かなり古い記事だけどRubyを使って 連続数字をハイフンでつなぐ方法が出てたよ Rubyでどう書く?:連続した数列を範囲形式にまとめたい - builder 要するにスペース区切りの数字列を 数字が連続する場合にその箇所をハイフンにする という話だよ "1 2 3" => "1-3." "1 2 3 5 7 8" => "1-3, 5, 7-8." "1 3 4 5 7" => "1, 3-5, 7." 解答例が出てたけどなんかしっくり来なかったので 自分なりの違う方法を考えてみたよ まず数字文字列を数字の配列に変換するよ str = "1 3 4 5 7" nums = str.scan(/\d+/).map(&:to_i) # => [1, 3, 4, 5, 7] 次にこれを 配列のインデックスに対応付けて配置し直すよ nums.inject([]) { |arr, n| arr[n-