【发布时间】:2015-02-27 08:45:38
【问题描述】:
正如我在标题中所说,我有一个 NSArray 对象,而这些对象又具有具有这种格式的 NSString 属性(我提供了一种正则表达式来解释):[1-9]+[A-Z] *
我想先按第一个数字字符,然后按最后一个字母字符对此类数组进行排序,例如:如果我有 6 个带有字符串 [@"1", @"1A", @" 的对象3", @"2D", @"10B", @"1B"],我想得到排序后的数组 [@"1", @"1A", @"1B", @"2D", @ "3", @"10B"].
由于我想按NSString 的属性进行排序,我该如何实现?
提前致谢
【问题讨论】:
-
也许你会检查字符的 ASCII 值?
-
NSNumericSearch 怎么样比较:
[array sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2){return [obj1 compare:obj2 options:NSNumericSearch];}]; -
@Larme 谢谢,但这似乎没有考虑到字母子串...
-
@Larme 抱歉,它正在工作,谢谢!
标签: ios sorting nsarray nspredicate nssortdescriptor