-1
例のデータ値:私はすべてのAさんが来るように、このソート必要ソート配列は
["A-1.jpg", "A-2.jpg", "A-10.jpg", "A-101.jpg", "B-1.jpg", "B-2.jpg"]
を第昇順、例えば内の数値'a-2'は 'a-10'の前にあり、両方とも 'b-1'の前です。
ありがとう。
例のデータ値:私はすべてのAさんが来るように、このソート必要ソート配列は
["A-1.jpg", "A-2.jpg", "A-10.jpg", "A-101.jpg", "B-1.jpg", "B-2.jpg"]
を第昇順、例えば内の数値'a-2'は 'a-10'の前にあり、両方とも 'b-1'の前です。
ありがとう。
arr = ["A-1.jpg", "A-10.jpg", "A-2.jpg", "A-101.jpg", "B-1.jpg", "B-2.jpg"]
arr.sort_by { |s| first, last = s.split("-"); [first, last.to_i] }
=> ["A-1.jpg", "A-2.jpg", "A-10.jpg", "A-101.jpg", "B-1.jpg", "B-2.jpg"]
["A-1.jpg", "A-2.jpg", "A-10.jpg", "A-101.jpg", "B-1.jpg", "B-2.jpg"].sort_by{|s| s =~ /^(\w)-(\d+)\.jpg$/ && $1.ord * 1000 + $2.to_i}
我々はこれを解決に向かって、あなたの努力の証拠を見てみたいと思います。コードを書きましたか?そうでない場合、なぜですか?あなたは解決策を探しましたか?どこで検索しましたか、なぜそれが役に立たなかったのですか?リンクされたページを含む「[ask]」をお読みください。あなたが試したことがないように見えるので、私たちにあなたのためにそれを書いてもらいたいのです。 –