list = ["HM00", "HM01", "HM010", "HM011", "HM012", "HM013", "HM014", "HM015", "HM016", "HM017", "HM018", "HM019", "HM02", "HM020", "HM021", "HM022", "HM023", "HM024", "HM025", "HM026", "HM027", "HM028", "HM029", "HM03", "HM030", "HM031", "HM032", "HM033", "HM034", "HM035", "HM036", "HM037", "HM038", "HM039", "HM04", "HM040", "HM041", "HM042", "HM043", "HM044", "HM045", "HM046", "HM047", "HM05", "HM06", "HM07", "HM08", "HM09"]
我希望将结果显示为 ["HM00","HM01","HM002"...] 但使用排序方法它给出了以下结果
["HM00", "HM01", "HM010", "HM011", "HM012", "HM013", "HM014", "HM015", "HM016", "HM017", "HM018", "HM019", "HM02"]
如果每个元素最后都有一个数字
list.sort_by { |item| item.scan(/\d*$/).first.to_i }
最后匹配那个数字,取第一个(因为 scan 给你一个结果数组),把它转换成一个整数
更简单
list.sort_by { |item| item[/\d*$/].to_i }
[]
已经参加了第一场比赛
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句