首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Clojure中的拉丁字符串进行排序

对Clojure中的拉丁字符串进行排序
EN

Stack Overflow用户
提问于 2015-02-11 13:33:29
回答 1查看 272关注 0票数 3

我在REPL做了这个实验:

代码语言:javascript
复制
(sort ["maa" "ácw" "ijl" "aez" "jkl"])

我拿到了这个:

代码语言:javascript
复制
("aez" "ijl" "jkl" "maa" "ácw")

正确的答案是:

代码语言:javascript
复制
("ácw" "aez" "ijl" "jkl" "maa")

有没有一种方法可以在Clojure中对拉丁字符串进行本地排序?如果不是,为什么不呢?

听着,我没有问如何分类,我知道我可以通过管道传递seq,并替换非ANSI字符。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-11 13:44:56

您可以在REPL上使用Collator类:

代码语言:javascript
复制
=> (import java.util.Locale)
java.util.Locale
=> (import java.text.Collator)
java.text.Collator
=> (def collator (Collator/getInstance (Locale. "pt_BR")))
#'user/collator
=> (sort collator ["maa" "ácw" "ijl" "aez" "jkl"])
("ácw" "aez" "ijl" "jkl" "maa")

在本例中,我使用的是巴西Locale。您需要将此区域设置更改为要使用的区域设置。有一个受支持的地区这里列表。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28455712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档