On Tue, May 19, 2009 at 5:24 PM, Jack Bauer <realmadrid2727 / yahoo.es> wrote: > You guys are great. I went with Bob's (pick one, hah) since it ended up > being moderately faster than the method I was originally using. > -- Here is a variant similar to the other solutions you already got: puts arr.sort_by {|s| s.split(/(\d+)/).each_with_index.map {|x,i| i.odd? ? x.to_i : x }} Works with Ruby 1.9. /Johan Holmberg