
IBM的ICU库可以做到这一点(还有更多)。它具有Python绑定:PyICU。
更新
:在ICU之间进行排序的核心区别
locale.strcoll在于,ICU使用完整的Unipre排序算法,而
strcoll使用ISO14651。
此处简要总结了这两种算法之间的区别:http :
//unipre.org/faq/collation.html#13。这些是非常奇特的特殊情况,在实践中几乎没有关系。
>>> import icu # pip install PyICU>>> sorted(['a','b','c','ä'])['a', 'b', 'c', 'ä']>>> collator = icu.Collator.createInstance(icu.Locale('de_DE.UTF-8'))>>> sorted(['a','b','c','ä'], key=collator.getSortKey)['a', 'ä', 'b', 'c']欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)