iOS - NSRange与字符串截取

图片源于网络

NSRange

    typedef struct _NSRange {
        NSUInteger location;
        NSUInteger length;
    } NSRange;
  • NSRange是Foundation框架中比较常用的结构体

  • 用来表示事物的一个范围

  • 通常是字符串里的字符范围或者数组里的元素范围。

  • 其中,NSRange有2个成员

    • NSUInteger location : 表示该范围的起始位置

    • NSUInteger length : 表示该范围内的长度

NSRange的创建

  1. 通过结构体变量访问成员

    NSRange range;
    //通过结构体变量访问成员
    range.location = 3;
    range.length = 2;
    
  2. 结构体变量整体赋值

    NSRange range;
    //结构体变量整体赋值
    range = (NSRange){5,3};
    NSRange r2 = {4,5};  //最简单的
    NSRange r3 = {.location = 3,.length = 5};
    
  3. NSMakeRange函数(OC中建议使用这种)

    NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
    NSRange r;
    r.location = loc;
    r.length = len;
    return r;
    }
    
    • NSMakeRange函数的作用给 NSRange结构体变量赋值
    //NSMakeRange函数的作用给 NSRange结构体变量赋值
    NSRange r4 = NSMakeRange(3, 3);
    NSString *str = NSStringFromRange(r4);//将一个结构体转化成字符串
    

字符串的截取

  • 从指定位置from开始(包含起始位置)到尾部
 - (NSString *)substringFromIndex:(NSUInteger)from;
  • 从字符串的开头一直截取到指定的位置to,不包含结束位置
- (NSString *)substringToIndex:(NSUInteger)to;
  • 按照所给出的NSRange从字符串中截取子串
 - (NSString *)substringWithRange:(NSRange)range;
  • 示例
//抽取指定范围的字符串
    NSString *string1 = @"0123456789";
    NSRange range1 = NSMakeRange(0, 4);//NSMakeRange这个函数的作用是从第0位开始计算,长度为4
    NSLog(@"从第0个字符开始,长度为4的字符串是:%@",[string1 substringWithRange:range1]);
    NSLog(@"抽取从头开始到第4个字符:%@",[string1 substringToIndex:4]);
    NSLog(@"抽取从第6个字符开始到末尾:%@",[string1 substringFromIndex:6]);

参考

NSRange 和 NSString 详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、 框架: 系统或者第三方事先写好的写很牛X功能的类,把这些类交给我们使用,这些类的集合就叫框架.Foundat...
    _凌浩雨阅读 380评论 0 1
  • 大纲 26.Protocol-协议 27.delegate-代理 28.Foundation框架介绍 29.NSS...
    天天想念阅读 1,475评论 0 2
  • NSRange : 表示范围作用的结构体,3种方式创建 // 方式一 NSRange range; locatio...
    路墨阅读 1,188评论 1 8
  • 昨天我还说要比较一下戴维森和金在权的事件观。 今天翻韩林合《分析的形而上学》,第五章“事实、事态与事件”有一小节专...
    花斯基阅读 1,810评论 0 0
  • 雨点拍打著窗外的树叶发出沙沙的声音,这细微的声音如同耳边的喃呢,使得我从睡梦中惊醒。环视四周,杂乱不堪的房间只落下...
    幹物犬阅读 222评论 0 1

友情链接更多精彩内容