美文网首页iOS技术文章
OC:NSString/NSMutableString字符串✨☀

OC:NSString/NSMutableString字符串✨☀

作者: LeaderBiao | 来源:发表于2016-06-24 11:33 被阅读78次
    • 版权声明:本文为博主原创文章,未经博主允许不得转载。

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

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

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

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

    3、// NSString

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

    //类簇:将一些私有的子类组合在一起形成一个公共的抽象的超类,那么这个超类就是类簇;
        //创建一个字符串对象
        char *s = "Biao";
        NSLog(@"%s",s);
        
        //oc中创建字符串
        NSString *str = @"Biao";//快速创建字符串的方法
        NSLog(@"%@",str);
        
        //创建空字符串
        NSString *str1 = [[NSString alloc]init];
        NSLog(@"%@ %p ",str1,str1);
        str1 = @"年后";//这种改变只是指针的重指向
        NSLog(@"%@ %p ",str1,str1);
        
        NSString *str2 = [NSString string];
        NSLog(@"==%@",str2);
        //创建不可变空字符串是没有任何意义的
        
        //格式化创建不可变字符串对象
        NSLog(@"Biao");
        NSLog(@"Biao%@",@"i love you");
        //你 拼接上 爱凤姐
        NSLog(@"你%@",@"爱凤姐");
        
        NSString *str3 = [[NSString  alloc]initWithFormat:@"%@ %@",@"Biao",@"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:@"你现在在哪里啊"];
    NSString *str10 = [NSString stringWithString:@"我现在在上厕所啊"];
    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/Biao/Desktop/38-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@",str13);
        
        //遍历构造器方法
        NSString *str14 = [NSString stringWithContentsOfFile:@"/Users/Biao/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt" encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@",str14);```
     
    
    ###7、 //操作字符串的方法
        
    
    //计算字符串长度的方法
    
    NSString *ss = @"BiaoGe";
    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 sz".mutableCopy;
    NSString * upFirst =  [mStr3 capitalizedString];
    NSLog(@"%@",upFirst);
    
    //将所有的字母都大写
    NSString *upAllWord =   [mStr3 uppercaseString];
    NSLog(@"%@",upAllWord);
    //将所有字母都小写
    NSMutableString *mStr4 = @"I AM STUDENT COME FROM SZ".mutableCopy;
    NSString *loweAllWord = [mStr4 lowercaseString];
    NSLog(@"%@",loweAllWord);

    相关文章

      网友评论

        本文标题:OC:NSString/NSMutableString字符串✨☀

        本文链接:https://www.haomeiwen.com/subject/bcpodttx.html