sam*_*sam 3 ruby arrays sorting
我正在使用铁轨上的红宝石,我是新来的,还有铁轨上的红宝石.我正在研究一个项目,并找到一些排序包含图像名称的字符串数组的问题.我尝试了很多算法,我知道这对我没用.当我调用服务进行图像提取时,它给了我这样的数组.
例:
["page-1_1.png",
"page-1_10.png",
"page-1_11.png",
"page-1_2.png",
"page-1_3.png",
"page-1_4.png",
"page-1_5.png",
"page-1_6.png",
"page-1_7.png",
"page-1_8.png",
"page-1_9.png"]
Run Code Online (Sandbox Code Playgroud)
我想像这样排序这个数组:
["page-1_1.png",
"page-1_2.png",
"page-1_3.png",
"page-1_4.png",
"page-1_5.png",
"page-1_6.png",
"page-1_7.png",
"page-1_8.png",
"page-1_9.png",
"page-1_10.png",
"page-1_11.png"]
Run Code Online (Sandbox Code Playgroud)
我曾尝试过很多东西来排序,但无法得到任何解决方案.请帮我.
ndn*_*kov 10
names.sort_by { |name| name.scan(/\d+/).map(&:to_i) }
Run Code Online (Sandbox Code Playgroud)
这将查找每个文件名中的所有数字,并按所述数字排序.注意,数组是通过比较第一个元素来排序的,如果是相等的 - 第二个,依此类推.