Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ["E1", "E1C", "E1D", "E10", "E11", "E12", "E2", "E3", "E4", "EC1", "EC1A", "EC1M", "EC1N",
- "EC1R", "EC1V", "EC1Y", "EC2", "EC2A", "EC2M", "EC2N", "N1", "N10", "N11", "N12",
- "N13", "N2", "NW1", "NW10", "NW2" etc]
- ["E1", "E1C", "E1D", "E2", "E3", "E4", "E10", "E11", "E12", "EC1", "EC1A", "EC1M", "EC1N",
- "EC1R", "EC1V", "EC1Y", "EC2", "EC2A", "EC2M", "EC2N", "N1", "N2", "N10", "N11", "N12",
- "N13", "NW1", "NW2, "NW10" etc]
- array.sort_by do |str|
- /A(w)(d+)Z/ === str
- [$1, $2.to_i]
- end
- array.sort_by do |str|
- /A(D*)(d*)(D*)(d*)Z/.match(str)[1..-1].reject(&:blank?).collect do |item|
- /d/ === item ? item.to_i : item
- end
- end
- array.sort do |a, b|
- a = a.dup
- b = b.dup
- regex = /(d+)/
- a.match(regex)
- a_num = $1.to_i
- b.match(regex)
- b_num = $1.to_i
- if a_num > b_num
- a.gsub!(regex, "1")
- b.gsub!(regex, "0")
- elsif a_num < b_num
- a.gsub!(regex, "0")
- b.gsub!(regex, "1")
- end
- a <=> b
- end
Add Comment
Please, Sign In to add comment