NSRange的基础知识总结及应用

本文详细介绍了NSRange结构体的概念及使用方法,包括其组成部分、创建方式,并通过具体示例展示了如何利用NSRange进行字符串搜索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//一、NSRange是一个结构体,表示一段范围

/*

 typedef struct _NSRange {

 NSUInteger location;

 NSUInteger length;

 } NSRange;

 */

//NSUInteger是一个自定义无符号长整型typedef unsigned long NSUInteger;

//location表示起始位置

//length表示长度

/*二、创建方式:大致有四种

    1.{location,length}                                                  NSRange range={2,4};

    2.NSMakeRange(location,length)

    3.先定义,然后range.location,range.length

    4. NSRange range3={.location=2,.length=4};

*/

三、代码分析

#import <Foundation/Foundation.h>

int main(){

    @autoreleasepool {

        NSRange range={2,4};//第一种方式

        NSLog(@"%@",NSStringFromRange(range));

 

     NSRange range1=  NSMakeRange(2,4);//第二种方式

        NSLog(@"%@",NSStringFromRange(range1));

 

        NSRange range2;//第三种方式

        range2.location=2;

        range2.length=4;

        NSLog(@"%@",NSStringFromRange(range2));

 

        NSRange range3={.location=2,.length=4};//第四种方式

        NSLog(@"%@",NSStringFromRange(range3));

        

        NSString *str=@"i am the best best";

                NSString *str1=@"best";

               NSRange range4= [strrangeOfString:str1];//查找某一串字符是否存在于另一个字符串中

                NSLog(@"loc=%lu,len=%lu",range4.location,range4.length);

        

                if (range.location==NSNotFound) {//如果没有查找到字符串,则结果是NSNotFound

                    NSLog(@"不存在");

                }

              NSRange range5=  [strrangeOfString:str1options: NSBackwardsSearch];//实现反向查找

                NSLog(@"loc=%lu,len=%lu",range5.location,range5.length);

 

        

    }

    return0;

}

//结果打印如下

/*

 2016-01-27 23:57:00.274 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] loc=9,len=4

 2016-01-27 23:57:00.276 OC 5[2076:113487] loc=14,len=4

 Program ended with exit code: 0 */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值