iOS字符串真正Range

- (NSRange)rangeOfComposedCharacterSequencesForRange:(NSRange)range;
- (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)index;

这两个方法主要针对一些特殊字符获取真正的范围,防止你把同一个字符给拆开了,比如👴🏻👮🏽这种字符,它们并不是只占一个字符

NSString *string = @"👴🏻👮🏽哈哈哈";
NSRange range = [string rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, 5)];
NSRange range2 = [string rangeOfComposedCharacterSequenceAtIndex:5];
NSLog(@"string length : %zd range :%@ range 2: %@", string.length, NSStringFromRange(range), NSStringFromRange(range2));

输出结果:
2017-08-31 10:31:06.642 thread[6851:1320629] string length : 11 range :{0, 8} range 2: {4, 4}

看例子应该很容易看明白。

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,221评论 30 472
  • A今天我学到了什么: 1.margin的一些小问题 例子: 2.绝对路径和相对路径 相对路径:相对当前文件所在的路...
    向钱看丷向厚赚阅读 112评论 1 1
  • 去过香港几次,又好像从来没有去过这个城市。 记得陡峭崎岖的城市街道上上下下,记得港中文深夜里地铁呼啸而过的声音,记...
    翎子在这里阅读 610评论 0 4