我有一个未排序的地区邮政编码列表,如下所示:
["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]
因此,总结以 E 开头的邮政编码格式的顺序为:
- E1
- E1C
- E11
- EC1
- EC1V
以 N 等开头的邮政编码的顺序相同。
对此类字符串进行排序的推荐方法是什么?在这种情况下,字符串的格式始终是已知的,即它始终是 2-4 个字母数字字符,第一个始终是字母。
我应该先按长度排序字符串,然后在每个长度组中排序,还是有更优雅的方法?