关闭

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

594人阅读 评论(0) 收藏 举报
分类:

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);

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


1
0
查看评论

韩俊强新浪博客语录

不要期待,不要假想,顺其自然,如果注定,就一定会发生。人生没有那么多莺莺燕燕,什么是好的生活,什么是好的伴侣,无非就是,你饿了,做给你吃,你渴了,端给你喝,你冷了,给你盖被,你病了,给你拿药,哪怕你心烦了,也能骂他几句不是。脚踏实地的,比什么都强。【读懂这几句话胜读十年书】1,蜘蛛:能坐享其成,靠的...
  • qq_31810357
  • qq_31810357
  • 2015-10-08 09:03
  • 667

面试中最易被“秒杀”的十种表现

面试,你懂么?你肯定会说,这谁不懂。但,偏偏就因为各种原因,或经验不足、或准备不足、或行为举止不当等问题,你被HR"秒杀"了。在这里,向阳生涯不谈面试技巧,而是实实在在提醒每一位求职者,面试中一定会被"秒杀"的十种表现,避免这些现象,起码能让你的面试成功率提高...
  • qq_31810357
  • qq_31810357
  • 2015-10-08 09:03
  • 1092

OC方法-- NSString截取,比较,拼接,判断,强转

NSString: 1.subStringToIndex:1  截取字符串,(截取到1) NSString *str = @"我是一串字符串"; NSString *strJieQu = [str substringToIndex:1]; N...
  • Summer_shining
  • Summer_shining
  • 2016-12-28 11:47
  • 714

iOS中 自定义系统相机 作者:韩俊强

iOS中 自定义系统相机 作者:韩俊强 实现:拍照/闪光灯自动开闭/聚焦光圈等相关功能! 百度搜"韩俊强iOS"了解更多......
  • qq_31810357
  • qq_31810357
  • 2015-11-20 08:24
  • 2303

oc-字符串NSString,NSMutablesString基本使用方法

一.NSString字符串       》字符串是Foundation框架下的类,iOS2.0以后。      》 NSString是不可变的字符串,一旦被创建(即开辟了空间),只可读取,不能被修改(即修改和删除内容)。 ...
  • t1120533254
  • t1120533254
  • 2015-11-07 15:08
  • 727

【11/16】 iOS开发成长之路,【NSString 和NSInteger的相互转换,NSString字符串比较,拆分】

今天学到了很多零碎的知识点,总结一下:NSInteger转化 NSString类型: [NSString stringWithFormat: @"%d", NSInteger]; NSString转化 NSInteger类型: NSInteger = [NSString int...
  • Coder_Han
  • Coder_Han
  • 2015-11-16 20:20
  • 1918

NSString字符串相加连接的三种方法、判断是否包含字符串的方法

NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串 1. string = [NSString initWithFormat:@"%@%@", string1, string2 ]; 2. strin...
  • libaineu2004
  • libaineu2004
  • 2015-04-27 15:43
  • 979

NSString 字符串的合并

NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串 下面这三种方法可以让字符串合并: 1.   string = [NSString ...
  • xdonx
  • xdonx
  • 2013-08-23 13:56
  • 1218

iOS中 Animation 动画大全 韩俊强的博客

1.iOS中我们能看到的控件都是UIView的子类,比如UIButton UILabel UITextField UIImageView等等 2.UIView能够在屏幕的显示是因为在创建它的时候内部自动添加一个CALayer图层,通过这个图层在屏幕上显示的时候会调用一个drawRect: 的方法,...
  • qq_31810357
  • qq_31810357
  • 2015-10-21 18:37
  • 6081

黑马程序员——OC语言日志——NSString字符串的截取、替换,数据类型转换等一些用法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 今天来总结一下NSString一些常见的用法。 1、字符串的截取 从xx位置开始,到最后结束,包括xx: substringFromIndex:  XX    &#...
  • hongjitong2
  • hongjitong2
  • 2015-10-25 15:28
  • 6383
    个人资料
    • 访问:595636次
    • 积分:7036
    • 等级:
    • 排名:第3886名
    • 原创:240篇
    • 转载:10篇
    • 译文:1篇
    • 评论:214条
    我的微信公众号

    iOS开发者交流群: 官方付费群
    ①群:446310206
    ②群:426087546


    QQ: 点击这里给我发消息


    关注我的技术公众号,每天都有优质技术文章推送。
    微信关注我的公众号
    关注我的微博
    博客专栏
    我的小仓鼠

    有空帮我喂下仓鼠,谢谢!