次のような地域の郵便番号のソートされていないリストがあります。
["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 文字の英数字で、最初の文字は常に文字です。
最初に文字列を長さで注文してから、各長さのグループ内で注文する必要がありますか、それともより洗練された方法がありますか?