NSString/NSMutable字符串——韩俊强…

1、OC基本数据类型(简单铺垫)

 //   NSInteger  在64 位下相当于long,在非64位下相当于 int;

//    CGFloat 在64位下相当于double  在非64位下相当于 float;

  

   //如何使用API文档学习系统类库中类

    

    //help --》Documentation and API reference

    //快捷键 option + 左键   cmmand + 左键 进入类的头文件(严重警告:进系统头文件之后,退出时一定要按几次  cmmand + z),看系统头文件适合已经对这个类有很大了解的学生

    =========================================================

   

    

    

    3、//   NSString    是一个字符串类,而且是一个不可变的字符串类,继承自NSObject ,用NSString创建的字符对象,一经创建就不能修改;

    //类簇:将一些私有的子类组合在一起形成一个公共的抽象的超类,那么这个超类就是类簇;

    //创建一个字符串对象

    char *s = "lanou";

    NSLog(@"%s",s);

    

    //oc中创建字符串

    NSString *str = @"lanou";//快速创建字符串的方法

    NSLog(@"%@",str);

    

    //创建空字符串

    NSString *str1 = [[NSString alloc]init];

    NSLog(@"%@ %p ",str1,str1);

    str1 = @"年后";//这种改变只是指针的重指向

    NSLog(@"%@ %p ",str1,str1);

    

    NSString *str2 = [NSString string];

    NSLog(@"==%@",str2);

    //创建不可变空字符串是没有任何意义的

    

    //格式化创建不可变字符串对象

    NSLog(@"lanou");

    NSLog(@"lanou%@",@"i love you");

    //我 拼接上 爱凤姐

    NSLog(@"我%@",@"爱凤姐");

    

    NSString *str3 = [[NSString  alloc]initWithFormat:@"%@ %@",@"lanou",@"i love you"];

    NSLog(@"%@",str3);

    

    NSString *str4 = [[NSString alloc]initWithFormat:@"我%@",@"爱凤姐" ];

    

    NSLog(@"%@",str4);

    

   例子:字符串:@"优衣库试衣间" ,@"趣事多"

    NSString *str6 =@"优衣库试衣间";

    NSString *str7 = @"趣事多";

    NSString *str5 = [[NSString alloc]initWithFormat:@"%@%@",str6,str7];

    

    NSLog(@"%@",str5);

    

    4、//遍历构造器格式化创建字符串方法

    NSString *str8 = [NSString stringWithFormat:@"我在家里洗衣覅,%@",@"你在优衣库买衣服"];

    

    NSLog(@"%@",str8);

    //创建字符串的另一种方式(现在已经不用了);

    NSString *str9 = [[NSString alloc]initWithString:@"我在蓝欧37班"];

    NSString *str10 = [NSString stringWithString:@"靠 ,我也在蓝欧37班"];

    NSLog(@"%@",str10);

    例子:

 

   // ============================================

   5、 //将c语言字符串转换为oc字符串比如:"ios"   @"ios"

    NSString *str11 = [[NSString alloc]initWithUTF8String:"ios"];

    NSLog(@"%@",str11);

    

    NSString *str12 = [NSString stringWithUTF8String:"ios"];

    NSLog(@"%@",str12);

    6、//头文件初始化对象方法

    //将文件中的字符串内容读入到字符串对象中

    //第一个参数:文件的路径  第二个参数:编码格式  第三个参数: 如果出错了返回值存放的位置

    

    //初始化方法

    NSString *str13 = [[NSString alloc]initWithContentsOfFile: @"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"encoding:NSUTF8StringEncoding error:nil];

    NSLog(@"%@",str13);

    

    //遍历构造器方法

    NSString *str14 = [NSString stringWithContentsOfFile:@"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt" encoding:NSUTF8StringEncoding error:nil];

    NSLog(@"%@",str14);

    

   // ==========================================

   7、 //操作字符串的方法

    //计算字符串长度的方法

    

    NSString *ss = @"lanou3g";

    NSUInteger len = [ss length];//无符号长整形

    NSLog(@"%lu",len);

    

    一个中文占三个字节

    NSString *ss2 = @"翔哥 今天晚上区如家吧?";

    NSLog(@"%lu",ss2.length);

    

    8、//返回字符串片段的方法

   

    NSString *str15 = @"abcdefgdef";

    NSRange rang = {3,3};

    NSString *subString = [str15 substringWithRange:rang];

    NSLog(@"%@",subString);

    

    9、//返回字串在父串中范围

    rang = [str15 rangeOfString:@"def"];

    NSLog(@"loctation:%lu length : %lu",rang.location,rang.length);//不是点语法

    

    //获取到从零位置到某个位置的字符不包含提供位置的字符

    NSString *str16 = [str15 substringToIndex:4];

    NSLog(@"%@",str16);

    

    //从某个位置开始获取字符串,直到父串的结尾,包含这个停工未知的字符

    NSString *str17 = [str15  substringFromIndex:4];

    NSLog(@"%@",str17);

    

    //返回格式化拼接的字符串

    NSString *str20 = [str16 stringByAppendingString:str17];

    NSLog(@"%@",str20);

    

    //练习3:把@“cang”后面 拼接上@“是你们的”

    NSString *cangString = @"cang";

    NSString *newString =  [cangString stringByAppendingFormat:@"%@,%@",@"是你们的",@"不因不均"];

    NSLog(@"%@",newString);

    

    NSString *str18 = [cangString stringByAppendingString:@"是世界的"];

    NSLog(@"%@",str18);

    //字符串的替换

    //将目标子串从父串中用我们给定的替换掉

    

    NSString *str19 = [str18 stringByReplacingOccurrencesOfString:@"cang" withString:@"波多结衣"];

    NSLog(@"%@",str19);

    

    例子:

    NSString *str21 = @"中国北京中南海";

    //判断字符串是否具有某个前缀或者后缀

    BOOL isHas = [str21 hasPrefix:@"中国北京"];

    NSLog(@"%@",isHas ? @"有这个前缀":@"没有这个前缀");

    

    BOOL Has = [str21 hasSuffix:@"南海"];

    NSLog(@"%@",Has ? @"有这个后缀":@"无这个后缀");

    

    例子:

  

    

    

  

   //=============================================

    //比较两个字符串大小

    NSString *sstr3 = @"NBa";

    NSString *sstr4 = @"NBA";

    

   

    NSInteger n =   [sstr3 compare:sstr4];

    switch (n) {

        case NSOrderedAscending:

            NSLog(@"%@ < %@",sstr3,sstr4);

            break;

            case NSOrderedSame:

            NSLog(@"%@ = %@",sstr3,sstr4);

            break;

            case NSOrderedDescending:

            NSLog(@"%@ > %@",sstr3,sstr4);

        default:

            break;

    }

    

    //不区分大小写的比较方式

    n = [sstr3 caseInsensitiveCompare:sstr4];

    NSLog(@"%ld",n);

    

 //===================================================

 10、 NSMutableString   是可变字符串 ,继承自Nsstring,所以Nsstring 所有的方法NSMutableString都可以调用

    //这种创建字符串的形式可以提高一定的效率,如果存入的字符串小于开辟的虚拟空间长度,则直接放入,免去了开辟空间的时间,如果此时开辟的空间小于要放入字符串的长度,此时就要再开辟空间

    NSMutableString *mStr = [[NSMutableString alloc]initWithCapacity:30];

    //插入一个字符串

    [mStr insertString:@"索宁" atIndex:0];

    NSLog(@"%@",mStr);

    //创建可变字符串的另一种形式

    NSMutableString *mStr1 = [[NSMutableString alloc]initWithString:@"我和他有一个约会"];

    NSLog(@"%@",mStr1);

    //快速创建字符串,必须在后面加上  .mutableCopy

    NSMutableString *mStr2 = @"我与僵尸有一个约会".mutableCopy;

    NSLog(@"%@",mStr2);

    

   11、 //可变字符串拼接

    //格式化拼接

    [mStr2 appendFormat:@"%@",@"在日本岛" ];

    NSLog(@"%@",mStr2);

    

    //删除某段字符串

    [mStr2 appendString:@"吃着炸鸡喝着啤酒"];

    NSLog(@"%@",mStr2);

   NSRange rang1 = {1,8};

    [mStr2 deleteCharactersInRange:rang1];

    NSLog(@"-----%@",mStr2);

    //=========================================================

    //改可变字符串

   

    [mStr2 replaceCharactersInRange:NSMakeRange(2, 4)withString:@"任命广场"];

    NSLog(@"%@",mStr2);

    

    //每个单词的首字母大写

    NSMutableString *mStr3 = @"i am student come from DanCheng".mutableCopy;

   NSString * upFirst =  [mStr3 capitalizedString];

    NSLog(@"%@",upFirst);

    

    //将所有的字母都大写

  NSString *upAllWord =   [mStr3 uppercaseString];

    NSLog(@"%@",upAllWord);

    //将所有字母都小写

    NSMutableString *mStr4 = @"I AM STUDENT COME FROM DANCHENG".mutableCopy;

   NSString *loweAllWord = [mStr4 lowercaseString];

    NSLog(@"%@",loweAllWord);

    //================转载请注明出处=================


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩俊强

奖励一杯咖啡☕️

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值