回答
你可以兩個連續的標準:首先是字母(不區分大小寫),然後是字母(與大小寫)。 Array#sort_by
非常適合這些:
%w[andrew Net andrey Andrew].sort_by{|w| [w.downcase, w]}
# => ["Andrew", "andrew", "andrey", "Net"]
** andrew Net androy Andrew> Andrew androy andrew Net **這是怎麼回事? – Tensho 2012-04-26 13:28:17
@Tensho'%w [andrew Net androy Andrew] .sort_by {| w | [w.downcase,w]}'讓你'[「Andrew」,「andrew」,「androy」,「Net」]',而不是'Andrew androy andrew Net'。 – 2012-04-27 06:03:04
b = a.sort { |x,y| (z = x[0].upcase <=> y[0].upcase) == 0 ? x <=> y : z }
解釋和答案更有幫助 – 2012-04-27 12:59:09
%w[andrew Net andrey Andrew].sort_by(&:downcase)
- 1. 排序考慮的情況下考慮
- 2. Mysql的排序不考慮字母
- 3. 如何排序列表,同時優先考慮數字之前的字母表?
- 4. 如何按字母排列?
- 5. 按列排序MySQL行,但不按字母順序排列
- 6. 重新排列列表中的字母
- 7. 排序使用值字母字符串數組,並考慮值的情況下,在PHP
- 8. 帶前綴字的C#字母排列
- 9. 排序的字母數字陣列
- 10. 按字母順序排列複雜對象的排列列表
- 11. 按字母排序列表
- 12. 使用多字母排列
- 13. 按字母順序排列
- 14. 字母排列不行
- 15. 按字母順序排列
- 16. 重新排列字母(VB)
- 17. 按字母順序排列
- 18. 如何按字母順序排列組?
- 19. 如何按字母順序排列File.listFiles?
- 20. 如何按字母順序排列NSArray?
- 21. 按字母順序排列PHP排序
- 22. 如何雙向排序python列表,按降序排列數字,按升序排列字母排序?
- 23. 我如何排序我的arraylist按字母順序排列
- 24. 按字段順序排列+按字母順序排列
- 25. 按字母順序排序,然後按字母順序排列
- 26. 陣列的perl散列 - 數字排序的字母數字鍵?
- 27. Python:如何在沒有排序函數的情況下對列表中的字母進行排序?
- 28. 在不使用排名功能的情況下在Excel中排列數字列
- 29. 如何用字母創建按字母順序排列的列表?
- 30. 按字母順序排列的鏈表不按順序排列
我不知道紅寶石,但我會通過解析字符的ASCII或UTF和訂購去。 – 2012-04-26 12:57:20
你的意思是隻有當一個字母是相同的或者是什麼時,一個字母大寫都可以使用? – 2012-04-26 12:58:54
你有我的-1。 'androy'在'andrew'之前是沒有辦法的,所以清理你的問題,無論如何,我的回答應該指向你正確的方向。 – 2012-04-26 16:52:35