Oc-语句总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oc-语句总结相关的知识,希望对你有一定的参考价值。

1.unichar str = [str characterAtIndex:i];
   用途:用于字符的遍历
    例 :NSString*address = @"http://baidu.com";//不可变的字符
            for (int i  = 0; i<address.length; i++) {
            unichar str = [address characterAtIndex:i];
            NSString  *swap_Str =[NSString stringWithFormat:@"%c",str];
            NSLog(@"%@",swap_Str);
 
2.BOOL result = [str hasPrefix:@"http://"];
    用途:前缀的搜索
     例: NSString*str = @"http://itcast.com";//不可变的字符
             BOOL result = [str hasPrefix:@"http://"];//布尔类型
              if(result){ NSLog(@"str前缀是http://,证明str是网址”); }
                 else{    NSLog(@"str前缀不是 http://前缀,证明str非网址);  }
 
3. BOOL result = [str hasSuffix:@".cn"];
    用途:后缀的搜索
     例: NSString*str = @"file:///user/apple.cn";
             BOOL result = [str hasSuffix:@".cn"];
             if (result) {  NSLog(@"str后缀有.cn);  }
             else{   NSLog(@"str后缀没有.cn);  }
 
4.NSRange  range = [str rangeOfString:str1];(从左到右)结构体
   用途:字符串检查(字符位置的查找)
    例: //正向寻找(0~)
         NSString*str   = @"yue yue have a shaishai shaishai~";
        NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length
        NSRange  range = [str rangeOfString:str1];
        NSLog(@"loc = %lu,len = %lu",range.location,range.length);
    输出结果: loc = 15,len = 8
 
5.NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];
   用途:字符串检查(结构体)
     例:  //反向寻找(0~)
        NSString*str   = @"yue yue have a shaishai shaishai~";
        NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length(左->右)
        NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];
        NSLog(@"loc=%lu,len=%lu",range.location,range.length);
      输出结果:  loc=24,len=8
 
6.NSRange的使用
   用途:表示范围
        1.NSString*str = NSStringFromRange(range);
            用途:将NSRange转换成字符
    例:   NSRange  range = {3,5};
           //将NSRange转换成字符
           NSString*str = NSStringFromRange(range);
           NSLog(@"str=%@",str);
     输出结果: str={3, 5}
   
    2.用途:设置范围的方法
          NSRange  range = {3,5};
          NSRange range1 = NSMakeRange(loc, len);
          aa.loc = 1;  aa.len = 4;
      
        3.用途:且不知道,哪个是loc和len时用这个设置范围的方法
          NSRange  range2 = {.location = 5,.length = 7};
 
7.字符串的截取(字符串)
        1.NSString*str1 = [str substringFromIndex:5];
           用途:字符串的截取-消去前半部分,保留后半部分
              例:NSString*str   = @"01234567890jqk";
                    //截取字符串(消去)前半部分
                    //从指定位置截取到最后,包含指定位置
                    NSString*str1 = [str substringFromIndex:5];
                    NSLog(@"str1 = %@",str1);
                    输出结果: str1 = 567890jqk
   
    2.NSString*str1 = [str substringToIndex:7];
     用途:字符串的截取-消去后半部分,保留前半部分
      例:NSString*str   = @"01234567890jqk";
                  //截取后半部分,消除后半部分,不包括指定位置
                   NSString*str1 = [str substringToIndex:7];
                   NSLog(@"str1 = %@",str1);
                  输出结果:str1 = 0123456
      
     3.NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
       用途:截取指定范围
        例:NSString*str   = @"www.itcast.com";
                       NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
                       NSLog(@"%@",str1);
 
8.NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*"withString:@"/"];
   用途:字符串的替换
   例: //将*替换成/
              NSString *str = @"http:**ios.itcast.cn*ios*images*content_25.jpg";
             //str stringByReplacingOccurrencesOfString:要被替换的字符串 withString:用来替换的字符串
             NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*" withString:@"/"];
             NSLog(@"%@",str1);
      提示:@“ “替换@“”—>消去空格,不留间隙
 
9.int/float/double/…value的用法(对象方法)
    用法:字符串转换成基本数据类型
      例://字符串类型转换成基本数据类型
           NSString *str1 = @"3";
           //value是一个对象方法
            int a = [str1 intValue];
            NSLog(@"a = %d",a);
      诀窍:你要转成啥类型,就啥value
 
10.  char * ch = [str UTF8String];(对象方法)
     用法:OC语言中的字符串转C语言中的字符串
         例:NSString *str [email protected]"aaa";
              char * ch = [str UTF8String];
              NSLog(@"ch = %s",ch);
 
11. NSString *str = [NSString stringWithUTF8String:ch];(类方法)
     用法:C语言中的字符串转OC语言中的字符串
          例:char *ch = "aaa";
            NSString *str = [NSString stringWithUTF8String:ch];
            NSLog(@"str = %@",str);
 
12.去空格
    用途:去掉首尾空格
      例:NSString *str   = @" a b c d ";
           NSString *str1 =[str stringByTrimmingCharactersInSet:[NSCharacterSet
                                      whitespaceCharacterSet]];
           NSLog(@"str1 =%@",str1);
     注意:替换[]中的内容,进行功能的实现
        + (id)whitespaceCharacterSet; //去掉头尾空格
        + (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母
        + (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母
        + (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串
 
13.字符串比较大小(枚举)(比较的是值)
    1.含:NSComparisonResult result= [xiaoming compare:xiaoli];
         NSComparisonResult result1= [xiaoming compare:xiaoli     options:NSCaseInsensitiveSearch];//条件options:NSCaseInsensitiveSearch
    : //比较大小
            NSString  *xiaoming  = @"xiaoming";
            NSString  *xiaoli  = @"xiaoli";
            //枚举用 NSComparisonResult类型  来接收
            NSComparisonResult result= [xiaoming compare:xiaoli];
            NSComparisonResult result1= [xiaoming compare:xiaoli  options:NSCaseInsensitiveSearch];
            switch (result) {
                   case NSOrderedAscending:
                            NSLog(@"-1 升序 小到大");
                            break;
                    case NSOrderedDescending:
                             NSLog(@"1 降序 大到小");
                             break;
                    case NSOrderedSame:
                             NSLog(@"大小相等");
                             break; }
    可替换的条件:NSCaseInsensitiveSearch:不区分大小写字符。
                            NSLiteralSearch:进行完全比较,区分大小写。(默认)
                            NSNumericSearch:比较字符串的字符个数,不是字符值(实际优先比较ascii码值)。
       
       2.[str isEqualToString:str1];(比较的是值)
          用途:比较大小的第二种方式——>只能比较是否相同
               例: NSString  *str   = @"abc";
                     NSString  *str1 = @"bcd";
                    BOOL result =  [str isEqualToString:str1];//布尔类型
                    if(result){
                                  NSLog(@"str与str1的值相同");}
                        else{  NSLog(@"str与str1的值不相同~~~");}
                输出结果:str与str1的值不相同~~~
                谨记:==比较的是地址,而isEqualToString:比较的是值
   
14.可变字符串的创建与添加
      1.  [str appendString:@"哈哈哈];——>添加
    用途:为可变字符串添加内容
        例: //可见字符串的创建
             NSMutableString *str = [NSMutableString string];
             //往可变字符串中追加字符串
             [str appendString:@"哈哈哈"];
             NSLog(@"str = %@",str);
             [str appendString:@"hahaha"];
             NSLog(@"str = %@",str);
       输出结果:1.  str = 哈哈哈 
                         2.str = 哈哈哈hahaha
        解析:1.重复添加字符串,原字符串内容不覆盖。
                2.可变字符串添加修改过程中,地址不变,内容可以改变。
 
         2. [str appendFormat:@"%[email protected]",715134031];——>按格式添加
         用途:按照某种格式追加
               例: /创建可变字符串(空)
                     NSMutableString *str = [NSMutableString string];
                     //按照某种格式追加  如:【str appendFormat:按照的某种格式,内容】
                     [str appendFormat:@"%[email protected]",715134031];
                     NSLog(@"%@",str);
                     输出结果:[email protected]
 
          3.[str deleteCharactersInRange:NSMakeRange(3,2)];——>删除
              用途:删除指定范围的字符串
                      1.例:  2.的输出结果为:[email protected]qq.com
                           //删除指定范围的字符串
                           [str deleteCharactersInRange:NSMakeRange(3,2)];
                           NSLog(@"%@",str);
                           输出结果:[email protected]qq.com
                   
                       2.例:rangeOfStringdeleteCharactersInRange:的经典使用
                        2.的输出结果为:[email protected]qq.com
                            NSRange range = [str rangeOfString:@"403"];     //找到403
                            [str deleteCharactersInRange:range];//删除403
                            NSLog(@"%@",str);  //输出结果
                            输出结果: [email protected]qq.com
             
              4.[str insertString:@"403" atIndex:5];——>插入
                    用途:插入字符串
                      例:上例输出结果: [email protected]qq.com
                            //将403重新插入str
                            //str insertString:要插入的字符串 atIndex:插在哪个位置就写哪
                            [str insertString:@"403" atIndex:5];
                            NSLog(@"%@",str);
                            输出结果:[email protected]qq.com
           
               5.  [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng”]; 
                       用途:替换字符串
1.unichar str = [str characterAtIndex:i];
   用途:用于字符的遍历
    例 :NSString*address = @"http://baidu.com";//不可变的字符
            for (int i  = 0; i<address.length; i++) {
            unichar str = [address characterAtIndex:i];
            NSString  *swap_Str =[NSString stringWithFormat:@"%c",str];
            NSLog(@"%@",swap_Str);
 
2.BOOL result = [str hasPrefix:@"http://"];
    用途:前缀的搜索
     例: NSString*str = @"http://itcast.com";//不可变的字符
             BOOL result = [str hasPrefix:@"http://"];//布尔类型
              if(result){ NSLog(@"str前缀是http://,证明str是网址”); }
                 else{    NSLog(@"str前缀不是 http://前缀,证明str非网址);  }
 
3. BOOL result = [str hasSuffix:@".cn"];
    用途:后缀的搜索
     例: NSString*str = @"file:///user/apple.cn";
             BOOL result = [str hasSuffix:@".cn"];
             if (result) {  NSLog(@"str后缀有.cn);  }
             else{   NSLog(@"str后缀没有.cn);  }
 
4.NSRange  range = [str rangeOfString:str1];(从左到右)结构体
   用途:字符串检查(字符位置的查找)
    例: //正向寻找(0~)
         NSString*str   = @"yue yue have a shaishai shaishai~";
        NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length
        NSRange  range = [str rangeOfString:str1];
        NSLog(@"loc = %lu,len = %lu",range.location,range.length);
    输出结果: loc = 15,len = 8
 
5.NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];
   用途:字符串检查(结构体)
     例:  //反向寻找(0~)
        NSString*str   = @"yue yue have a shaishai shaishai~";
        NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length(左->右)
        NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];
        NSLog(@"loc=%lu,len=%lu",range.location,range.length);
      输出结果:  loc=24,len=8
 
6.NSRange的使用
   用途:表示范围
        1.NSString*str = NSStringFromRange(range);
            用途:将NSRange转换成字符
    例:   NSRange  range = {3,5};
           //将NSRange转换成字符
           NSString*str = NSStringFromRange(range);
           NSLog(@"str=%@",str);
     输出结果: str={3, 5}
   
    2.用途:设置范围的方法
          NSRange  range = {3,5};
          NSRange range1 = NSMakeRange(loc, len);
          aa.loc = 1;  aa.len = 4;
      
        3.用途:且不知道,哪个是loc和len时用这个设置范围的方法
          NSRange  range2 = {.location = 5,.length = 7};
 
7.字符串的截取(字符串)
        1.NSString*str1 = [str substringFromIndex:5];
           用途:字符串的截取-消去前半部分,保留后半部分
              例:NSString*str   = @"01234567890jqk";
                    //截取字符串(消去)前半部分
                    //从指定位置截取到最后,包含指定位置
                    NSString*str1 = [str substringFromIndex:5];
                    NSLog(@"str1 = %@",str1);
                    输出结果: str1 = 567890jqk
   
    2.NSString*str1 = [str substringToIndex:7];
     用途:字符串的截取-消去后半部分,保留前半部分
      例:NSString*str   = @"01234567890jqk";
                  //截取后半部分,消除后半部分,不包括指定位置
                   NSString*str1 = [str substringToIndex:7];
                   NSLog(@"str1 = %@",str1);
                  输出结果:str1 = 0123456
      
     3.NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
       用途:截取指定范围
        例:NSString*str   = @"www.itcast.com";
                       NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
                       NSLog(@"%@",str1);
 
8.NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*"withString:@"/"];
   用途:字符串的替换
   例: //将*替换成/
              NSString *str = @"http:**ios.itcast.cn*ios*images*content_25.jpg";
             //str stringByReplacingOccurrencesOfString:要被替换的字符串 withString:用来替换的字符串
             NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*" withString:@"/"];
             NSLog(@"%@",str1);
      提示:@“ “替换@“”—>消去空格,不留间隙
 
9.int/float/double/…value的用法(对象方法)
    用法:字符串转换成基本数据类型
      例://字符串类型转换成基本数据类型
           NSString *str1 = @"3";
           //value是一个对象方法
            int a = [str1 intValue];
            NSLog(@"a = %d",a);
      诀窍:你要转成啥类型,就啥value
 
10.  char * ch = [str UTF8String];(对象方法)
     用法:OC语言中的字符串转C语言中的字符串
         例:NSString *str [email protected]"aaa";
              char * ch = [str UTF8String];
              NSLog(@"ch = %s",ch);
 
11. NSString *str = [NSString stringWithUTF8String:ch];(类方法)
     用法:C语言中的字符串转OC语言中的字符串
          例:char *ch = "aaa";
            NSString *str = [NSString stringWithUTF8String:ch];
            NSLog(@"str = %@",str);
 
12.去空格
    用途:去掉首尾空格
      例:NSString *str   = @" a b c d ";
           NSString *str1 =[str stringByTrimmingCharactersInSet:[NSCharacterSet
                                      whitespaceCharacterSet]];
           NSLog(@"str1 =%@",str1);
     注意:替换[]中的内容,进行功能的实现
        + (id)whitespaceCharacterSet; //去掉头尾空格
        + (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母
        + (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母
        + (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串
 
13.字符串比较大小(枚举)(比较的是值)
    1.含:NSComparisonResult result= [xiaoming compare:xiaoli];
         NSComparisonResult result1= [xiaoming compare:xiaoli     options:NSCaseInsensitiveSearch];//条件options:NSCaseInsensitiveSearch
    : //比较大小
            NSString  *xiaoming  = @"xiaoming";
            NSString  *xiaoli  = @"xiaoli";
            //枚举用 NSComparisonResult类型  来接收
            NSComparisonResult result= [xiaoming compare:xiaoli];
            NSComparisonResult result1= [xiaoming compare:xiaoli  options:NSCaseInsensitiveSearch];
            switch (result) {
                   case NSOrderedAscending:
                            NSLog(@"-1 升序 小到大");
                            break;
                    case NSOrderedDescending:
                             NSLog(@"1 降序 大到小");
                             break;
                    case NSOrderedSame:
                             NSLog(@"大小相等");
                             break; }
    可替换的条件:NSCaseInsensitiveSearch:不区分大小写字符。
                            NSLiteralSearch:进行完全比较,区分大小写。(默认)
                            NSNumericSearch:比较字符串的字符个数,不是字符值(实际优先比较ascii码值)。
       
       2.[str isEqualToString:str1];(比较的是值)
          用途:比较大小的第二种方式——>只能比较是否相同
               例: NSString  *str   = @"abc";
                     NSString  *str1 = @"bcd";
                    BOOL result =  [str isEqualToString:str1];//布尔类型
                    if(result){
                                  NSLog(@"str与str1的值相同");}
                        else{  NSLog(@"str与str1的值不相同~~~");}
                输出结果:str与str1的值不相同~~~
                谨记:==比较的是地址,而isEqualToString:比较的是值
   
14.可变字符串的创建与添加
      1.  [str appendString:@"哈哈哈];——>添加
    用途:为可变字符串添加内容
        例: //可见字符串的创建
             NSMutableString *str = [NSMutableString string];
             //往可变字符串中追加字符串
             [str appendString:@"哈哈哈"];
             NSLog(@"str = %@",str);
             [str appendString:@"hahaha"];
             NSLog(@"str = %@",str);
       输出结果:1.  str = 哈哈哈 
                         2.str = 哈哈哈hahaha
        解析:1.重复添加字符串,原字符串内容不覆盖。
                2.可变字符串添加修改过程中,地址不变,内容可以改变。
 
         2. [str appendFormat:@"%[email protected]",715134031];——>按格式添加
         用途:按照某种格式追加
               例: /创建可变字符串(空)
                     NSMutableString *str = [NSMutableString string];
                     //按照某种格式追加  如:【str appendFormat:按照的某种格式,内容】
                     [str appendFormat:@"%[email protected]",715134031];
                     NSLog(@"%@",str);
                     输出结果:[email protected]
 
          3.[str deleteCharactersInRange:NSMakeRange(3,2)];——>删除
              用途:删除指定范围的字符串
                      1.例:  2.的输出结果为:[email protected]qq.com
                           //删除指定范围的字符串
                           [str deleteCharactersInRange:NSMakeRange(3,2)];
                           NSLog(@"%@",str);
                           输出结果:[email protected]qq.com
                   
                       2.例:rangeOfStringdeleteCharactersInRange:的经典使用
                        2.的输出结果为:[email protected]qq.com
                            NSRange range = [str rangeOfString:@"403"];     //找到403
                            [str deleteCharactersInRange:range];//删除403
                            NSLog(@"%@",str);  //输出结果
                            输出结果: [email protected]qq.com
             
              4.[str insertString:@"403" atIndex:5];——>插入
                    用途:插入字符串
                      例:上例输出结果: [email protected]qq.com
                            //将403重新插入str
                            //str insertString:要插入的字符串 atIndex:插在哪个位置就写哪
                            [str insertString:@"403" atIndex:5];
                            NSLog(@"%@",str);
                            输出结果:[email protected]qq.com
           
               5.  [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng”]; 
                       用途:替换字符串
                          例://创建可变字符串(空)
                                NSMutableString *str = [NSMutableString string];
                                [str appendString:@"yueyue老师真帅!"];
                                NSLog(@"%@",str);//输出结果:yueyue老师真帅!
                                //str replaceCharactersInRange:要替换掉的位置 withString:用来替换的字符串
                                [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng"];
                               NSLog(@"%@",str);//输出结果:pengpeng老师真帅!
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于Oc-语句总结的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C语法总结

选择排序算法

pandas 常用技巧总结

Pandas总结第五节 Pandas 数据查询方法总结_df.loc()总结

将 append() 与 df.loc == 语句一起使用 Pandas Python

OC知识总结