黑马程序员-[OC语言] 第六篇:foundation框架之 NSString 基本用法

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

OC加强 --第四天学习总结:

1.    Foundation框架介绍

框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,一遍是研发程序变得更容易在os x下的Mac操作系统中大约有80哥框架为所有程序开发奠定基础的框架成为Foundation框架。

Foundation框架允许使用一些基本对象,如数字和字符串,以及对象集合,如数组,字典。

Cocoa是Foundation和AppKit的集合应用开发工具包

Cocoa Touch是Foundation和UIKit的集合 UI控件的工具包

       Foundation框架是Mac\ios中其他框架的基础

       Foundation框架包含了很多开发中常用的数据类型。


2.     NSString比较大小

    判断字符串内容真正是否相等。[str1  isEqualToString : str2]; 此时区分大小写,返回的是bool型字符串比较

 加上 :caseInsensitiveCompare: 条件后,则 不考虑大小写

@autoreleasepool {
        
        NSString *str1 = @"abc";   // a 97
        NSString *str3 = [NSString stringWithFormat:@"Abc"];

        if ([str1 isEqualToString:str3]) {
            NSLog(@"相等");
        }else
        
         NSLog(@"不相等");
}
        

3.     NSString 前后缀检测

    1. 检测前缀 hasprefix:

      如何检测一个字符串是否是一个网址

      [Str hasPrefix:@”要检测内容”];//返回的是bool型

    2. 检测后缀  hassuffix:

NSString *url = @"https://ios.itcast.cn";
    if([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]){
        
        NSLog(@"是一个网址");
    }else{
        
        NSLog(@"这不是一个网址");
    }
    NSString *imgName = @"xxxxx.doc";
    // [str hasSuffix:@"带检测的后缀"]
    if([imgName hasSuffix:@".jpg"])
    {
        
        NSLog(@"是一个图片");
    }else{
        
        NSLog(@"这不是一个图片");
    }


}

4.字符串查找 rangOfString:

 查找某个字符串在另外一个字符串中首次出现的位置,如:

NSString *str1=@”isiosdfd”;

 NSString *str2=@”ios”;

 NSRangerange=[Str1 rangOfString :str2];

NSLog(@”%lu,%lu”,range.location,range.length);//2 3

  如果查找不到,返回的信息:location 特大的数(NSNotFound)

                                                                Legth   0

      Range结构体变量 NSRange 结构体别名

      Range.location 表示字符串首次出现的位置

      Range.lengh 字符串出现的长度(实质上就是字符串的长度)。

5.NSRange的使用
1)NSRange主要用来定义结构体,用来表示一个范围,通常是字符串里的字符范围或者是数组里的元素范围;
2)NSRange有两个成员变量,分别是:location:表示该范围的起始位置,length:表示该范围的长度;
3)OC中新增的 NSMakeRange函数的作用给 NSRange结构体变量赋值
  NSRange r4 = NSMakeRange(3, 3);
4)可以把结构体变量转换为 NSString类型,而打印出来;
  NSLog(@“%@“,NSStringFromRange(r4));

6. 字符串的截取和替换

   1.从X位置开始,到最后结束

NSString *str=@”http://www.baidu.com”;

NSString*str1=[str substringFromIndex:5];--->从下表为5个位置开始

NSLog(@”str1=%@”,str1);--->//www.baidu.com

   2.从开始位置,到x位置结束

 NSString *str=@”http://www.baidu.com”;

NSString*str1=[str substringToIndex:5];--->打印5个字符

   NSLog(@”str1=%@”,str1);--->http:

    3.截取一个范围range

<span style="font-size:18px;">NSString*str=@”http://www.baidu.com”;

NSRanger1={3, 4};

NSString*str1=[str substringWithRange:r1];

NSLog(@”str1=%@”,str1);--->p://</span>

7. 字符串替换

 [ 原字符串 stringByReplacingOccurrenxesOfString:@”a” withString :”*”];

--->把原字符串中的a替换成* 返回的是NSString 类型的字符串


8. NSString的其他用法

  1.获取字符串的每个字符

  [Str CharacterArIndex:(0)];---->获取str的第一个字符

  2.把NSString字符转换成基本类型

 NSString *str = @“1”;

   NSString *str2 = @”3.14”;

    Intb = [ str  intvalue ];  --->b=1;

   Float f = [ str2  floatvalue];  ---->f=3.14f;

  3.OC的字符串和C的字符串互相转换问题

1)c--------->oc

Char *s = ”zhangsan”;

  NSString *str=[ NSString  stringWithUTF8String :s ];

2) oc----------->c

 NSString *str = @”zhangbai”;

    const Char *s=[ str  UTF8String ];

9.NSMutableStirng

   NSMutableStirng是一个继承NSString的类。拥有NSString 所有的方法,是可变的 。    

    NSString是不可变的。

      不可变:字符串占用的空间和字符串的内容,都不能改变

      可变:指的是字符串在内存中占用的存储空间可以不固定,并且存储的内容可以被修改。

 如:

NSMutableString *str=[NSMutableString stringWithFormat:@”jack”];

     [str appendString :@“rose”];

     NSLog(@”%@”,str);--->jack&rose

      1)格式化添加字符串:

  -(void) appendFormat:(NSStirng*)format... ;

      [str appendFormat:@”http://www.baidu.com”];

    2)删除字符串一部分内容

  -(void)deleteCharactersInRange:(NSRange)range;

  [str deleteCharactersInRange:NSMakeRange(3 , 4)]; --->httwww.baidu.com

     3)字符串插入到指定位置

 [str insertString :@”p://”  atIndex:3]; ---->http://www.baidu.com

     4)替换字符串的一部分内容

 [str replaceCharactersInRange:NSMakeRange(11,5) withString:@”itcase”];

                                         ------->http://www.itcast.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值