如何对包含字符的字符串数组进行排序在Objective-C中有不同的排序优先级?

时间:2014-07-15 15:15:43

标签: ios objective-c sorting nsmutablearray nsarray

我有一组NSString个对象,每个NSString包含具有不同优先级的字符。 示例:“abc13#$#kポ”,此字符串包含数字,字符,特定字符和日语字符。假设我按照顺序排序时设置优先级,1,2,3,4为数字,字符,特定,Japanse或者。在这种情况下我该怎么做? 排序数组的优先级为:Latin-> number-> sybol-> japanse character。根据unicode,每个项目(例如:拉丁语)都有oder。

先谢谢。

2 个答案:

答案 0 :(得分:0)

首先要准确找出你想要的东西。您无法按照自己想要的方式排序,直到找到您想要的内容为止。

要对字符串的NSMutableArray进行排序,可以调用sortUsingComparator方法并传入比较字符串,以任何方式比较字符串。你编写代码。

NSString具有非常灵活的内置方法,例如处理数字,以便x9,x10,x99,x100将按此顺序排序。

答案 1 :(得分:0)

将字符存储为数组中的字符串,然后相应地对其进行排序: -

  NSMutableArray *yourArr=[NSMutableArray array];
  NSString *inputString = @"abc13";
  for (NSUInteger i = 0; i < inputString.length; i++)
 {
    NSString *character = [inputString substringWithRange:NSMakeRange(i, 1)];
    [yourArr addObject:character];
 }
   NSArray *sortedArray = [yourArr sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];