按升序排序字符串

时间:2010-10-08 13:14:13

标签: objective-c

我有以下格式的字符串数组5_5_a,10_10_a,0_0_a 1_1_a等。我想按升序/降序对它们进行排序。当我使用sortedArrayUsingSelector时:@ selector(比较:)我得到0_0_a,10_10_a,1_1_a,5_5_a。我试图将每个字符串解析成5 5个块并转换为int然后将第一个元素放入带有addObject:myInteger的数组中,但是在编译时我收到了警告。如果我错过了什么,请告诉我。谢谢Mark

1 个答案:

答案 0 :(得分:0)

这是因为'_'的ascii代码大于'0'。

我不知道你是否可以将'_'改为' - '例如?它将解决您的问题,您将能够使用sortedArrayUsingSelector

如果没有,你可以这样做:

[str stringByReplacingOccurancesOfString:@"_" withString:@"-"]

然后对数组进行排序,最后将“ - ”替换为“_”。

(这只是一个解决方案......不是最好的一个^^)