gpt4 book ai didi

ios - 对包含 Å、Ä 和 Ö 的字符串数组进行排序 - Swift

转载 作者:IT王子 更新时间:2023-10-29 05:20:51 26 4
gpt4 key购买 nike

我正在尝试按字母顺序对字符串数组进行排序。使用标准排序函数,当字符串不包含 Å、Ä 或 Ö(瑞典语)时,它会起作用。

我想按 A...Z、Å、Ä、Ö 的顺序排列。相反,生成的顺序是 A...Z、Ä、Å、Ö。

我尝试使用 localizedCompare,但没有成功。在这种情况下,Å 和 Ä 被翻译成“A”,而 Ö 被翻译成“O”。

let songs = self.allSongs.sort { return $0.title.localizedCompare($1.title) == .OrderedAscending }

关于如何做到这一点有什么想法吗?

最佳答案

I want to order it like A...Z, Å, Ä, Ö

这是瑞典语言环境中定义的顺序,因此您必须如果当前语言环境不是瑞典语,则明确设置它:

let titles = [ "Z", "Ö", "Å", "Ä", "A"  ]

let swedish = NSLocale(localeIdentifier: "sv")
let sortedTitles = titles.sort {
$0.compare($1, locale: swedish) == .OrderedAscending
}

print(sortedTitles) // ["A", "Z", "Å", "Ä", "Ö"]

对于不区分大小写的排序,添加选项:.CaseInsensitiveSearch争论。

Swift 3 更新:

let titles = [ "Z", "Ö", "Å", "Ä", "A"  ]

let swedish = Locale(identifier: "sv")
let sortedTitles = titles.sorted {
$0.compare($1, locale: swedish) == .orderedAscending
}

print(sortedTitles) // ["A", "Z", "Å", "Ä", "Ö"]

关于ios - 对包含 Å、Ä 和 Ö 的字符串数组进行排序 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38720383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com