将iOS中英文内容进行排序

当一段数组里面的字符串,需要进行排序的时候,:原文链接

英文通过字母排序:

中文通过拼音排序:

这里有一个算法,直接使用就可以进行排序

-(void)testSort

{ NSArray *stringsArray = [NSArray arrayWithObjects:@"string 1", @"你好",@"你在", @"String 11", @"上海", nil];

   static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch | NSWidthInsensitiveSearch | NSForcedOrderingSearch;

    NSLocale *currentLocale = [NSLocale currentLocale];

     NSComparator finderSortBlock = ^(id string1, id string2) {

        NSRange string1Range = NSMakeRange(0, [string1 length]);

    return [string1 compare:string2 options:comparisonOptions range:string1Range locale:currentLocale];

    };

    NSArray *finderSortArray = [stringsArray sortedArrayUsingComparator:finderSortBlock];


    NSLog(@"finderSortArray: %@", finderSortArray);

}

输出结果:

<__NSArrayI 0x109622d90>(

你好,

你在,

上海,

string 1,

String 11

)

---------------------

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容