如何对字符串数组进行排序,其中字符串中包含数字

时间:2013-06-17 18:27:29

标签: objective-c nsstring nsarray nssortdescriptor

我想根据名称(NSString)变量对自定义对象数组进行排序。 name变量最后可以包含数字。

未分类的数据:坦克1,坦克2,坦克10,坦克32,坦克3,坦克11

我使用了以下排序描述符

[NSSortDescriptor sortDescriptorWithKey:@"objectName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]

结果阵列给出:坦克1,坦克10,坦克11,坦克2,坦克3,坦克32

但我需要根据实际数字得到阵列,我的意思是得到的阵列应该是:坦克1,坦克2,坦克3,坦克10,坦克11,坦克32。

需要对排序描述符进行哪些更改才能实现此目的?有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果是NSArray,您可能需要查看sortedArrayUsingComparator:方法。您提供了一个用于比较和排序数组中项目的块。在您的情况下,您可以在每个字符串的末尾提取数字并进行比较。