根据字符串的一部分对 Ruby 数组进行排序

use*_*981 1 ruby arrays sorting

我有以下数组...

[ "global/20130102-001", "global/20131012-001, "country/uk/20121104-001" ]
Run Code Online (Sandbox Code Playgroud)

我需要根据字符串的数字部分对数组进行排序。所以上面的将被排序为:

[ "country/uk/20121104-001", "global/20130102-001", "global/20130112-001 ]
Run Code Online (Sandbox Code Playgroud)

有没有办法调用 .sort 并忽略每个元素的第一部分,所以我只对数字进行排序?

Fai*_*aiz 5

当然,只需使用sort_by.

  arr.sort_by do |s| 
     s.split('/').last
  end
Run Code Online (Sandbox Code Playgroud)