黑马程序员——Foundation框架——NSString常用方法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1. 创建字符串

 //在常量区创建字符串对象
        NSString *str1=@"abc";
        NSString *str2=[NSString stringWithString:@"hello"];
        NSString *str3=[[NSString alloc] initWithString:@"aa"];
        
        //在堆区创建字符串对象
        NSString *str4=[NSString stringWithFormat:@"happy"];
        NSString *str5=[[NSString alloc] initWithFormat:@"bb"];

2. 比较字符串大小

compare默认区分大小写,和C语言中的strcmp一样,是取出字符的ASCII值进行比较,compare的返回结果有三种:

NSOrderedAscending——升序排列

NSOrderedDescending——降序排列

NSOrderedSame——两个字符串相等

 NSString *str1=@"Hello";
        NSString *str2=@"hello";
        //默认方式比较字符串str1和str2
        NSComparisonResult result1=[str1 compare:str2];
        //比较字符串str1和str2,不区分大小写
        NSComparisonResult result2=[str1 compare:str2 options:NSCaseInsensitiveSearch];
        //比较字符串str1和str2,按字符个数进行比较
        NSComparisonResult result3=[str1 compare:str2 options:NSNumericSearch];
        


“==”比较的是两个字符串的地址,而不是字符串的内容,用isEqualToString判断字符串内容是否相等

//判断两个字符串的内容是否相等
        if ([str1 isEqualToString:str2]) {
            NSLog(@"两个字符串相等");
        }else{
            NSLog(@"两个字符串不相等");
        }

3. 字符串前后缀检查

检查字符串前缀

 NSString *url=@"http://xxxxxxx";
        //通过检查前缀判断字符串是否是一个网址
        if ([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]) {
            NSLog(@"这是一个网址");
        }else{
            NSLog(@"这是一个网址");
        }

检查字符串后缀

NSString *imgName=@"xxxx.jpg";
        //检查后缀判断字符串是否图片名称
        if ([imgName hasSuffix:@".jpg"]||[imgName hasSuffix:@".jpeg"]||[imgName hasSuffix:@".png"]) {
            NSLog(@"这是一张图片");
        }else{
            NSLog(@"这不是一张图片");
        }

4. 字符串查找

rangeOfString——查找某个字符串在另外一个字符串中首次出现的位置,返回值是一个NSRange的结构体

NSString *str3=@"happy everyday forever";
        NSString *str4=@"everyday";
        //查找str4在str3中首次出现的位置
        NSRange range=[str3 rangeOfString:str4];
        //判断是否找到
        if (range.location!=NSNotFound) {
            NSLog(@"首次出现的位置是%lu,长度是%lu",range.location,range.length);
        }else{
            NSLog(@"没有找到");
        }

5. 字符串的截取

- (NSString *)substringFromIndex:(NSUInteger)anIndex

截取从指定位置anIndex开始(包括anIndex),到尾部的字符串

- (NSString *)substringToIndex:(NSUInteger)anIndex

截取从开始位置到指定位置anIndex(不包括anIndex)的字符串

- (NSString *)substringWithRange:(NSRange)aRange

按照aRange给定的子串的起始位置和长度从字符串中截取子串

NSString *str1=@"http://www.baidu.com";      <pre name="code" class="objc">//截取str1从第五个位置开始到尾部的字符串保存在str2中
NSString *str2=[str1 substringFromIndex:5]; NSLog(@"%@",str2); //截取从第0个位置开始到第五个位置的字符串保存在str3中 NSString *str3=[str1 substringToIndex:5]; //按照参数中NSRange截取字符串 NSString *str4=[str1 substringWithRange:NSMakeRange(5, 8)];

 

6. 获取字符串的长度

-(NSUInteger) length

返回字符串的长度,中英字符都按一个字符

7.获取字符串中的每个字符

- (unichar)characterAtIndex:(NSUInteger)index

返回字符串中index对应位置的字符


8.字符串和其他数据类型的转换

    // intValue——把字符串转换成int类型的数据,返回一个int类型整数
        NSString *a=@"1";
        int a1=[a intValue];
    //floatValue——把字符串转换成float类型的数据,返回一个float类型整数
        NSString *b=@"1.2";
        float b1=[b floatValue];
    //doubleValue——把字符串转换成double类型的数据,返回一个double类型整数:
        NSString *c=@"2.3";
        double c1=[c doubleValue];
    //stringwithUTF8String——把C语言的字符串转换成OC中的字符串
        char *s="Hello World";
        NSString *str=[NSString stringWithUTF8String:s];
        //UTF8String——把OC中得字符串转换成C语言中的字符串
        NSString *str3=@"happy everyday forever";
       	const char *s1=[str3 UTF8String];



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值