gpt4 book ai didi

arrays - 如何在 Swift 中对字符串的行进行排序?

转载 作者:搜寻专家 更新时间:2023-11-01 05:57:09 24 4
gpt4 key购买 nike

我有一个 textView,我可以在其中输入文本,我想以编程方式对行进行排序(此处旨在作为由换行符分隔的文本 block )。例如:

Bravo
27
Charlie
Zulu
delta
012
Alfa
bravo
Delta

我正在尝试将 tex 转换为数组,然后对数组进行排序,然后将数组放入新字符串中。不幸的是,我得到了意想不到的结果,例如,大写字母的单词被分组在列表的开头,小写字母的单词被列在最后。

这是我正在使用的代码:

let newStr = (the field) // pseudocode

let strArray : [String] = newStr.componentsSeparatedByString("\n")
let newArray = strArray.sort { $0 < $1 }
newStr = newArray.joinWithSeparator("\n")

(the field) = newStr // pseudocode

编辑:我想得到的结果是有一个考虑到本地设置的排序列表。例如,在我的例子中,将是:

012
27
Alfa
bravo
Bravo
Charlie
delta
Delta
Zulu

最佳答案

我会通过将您的排序代码更改为来解决这个问题

let newArray = strArray.sort{$0.localizedCompare($1) == NSComparisonResult.OrderedAscending}

来自 Apple 文档:

Important: For user-visible sorted lists, you should always use localized comparisons. Thus typically instead of compare: or caseInsensitiveCompare: you should use localizedCompare: or localizedCaseInsensitiveCompare:.

Source

关于arrays - 如何在 Swift 中对字符串的行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37749903/

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