Oc-语句总结(1)字符串

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 = @"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 = @"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 =  [strstringByReplacingOccurrencesOfString:@"*"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 = @"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= [xiaomingcompare: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. [strisEqualToString:str1];( 比较的是值)
          用途:比较大小的第二种方式——>只能比较是否相同
               例: NSString   *str   = @"abc" ;
                     
NSString   *str1 = @"bcd" ;
                    
BOOL result =  [str isEqualToString :str1]; // 布尔类型
                    
if (result){
                                  
NSLog ( @"str str1 的值相同 " );}
                        elseNSLog(@"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:@"%d@qq.com",715134031]; ——>按格式添加
         用途:按照某种格式追加
               例: / 创建可变字符串 ( )
                     NSMutableString *str = [NSMutableStringstring];
                     // 按照某种格式追加 如:【str appendFormat:按照的某种格式,内容】
                     [str appendFormat : @"%d@qq.com" , 715134031 ];
                     NSLog(@"%@",str);
                     输出结果: 715134031@qq.com
 
          3. [strdeleteCharactersInRange:NSMakeRange(3,2)]; ——>删除
              用途:删除指定范围的字符串
                      1.例:   2. 的输出结果为: 715134031 @qq.com
                            // 删除指定范围的字符串
                           [str deleteCharactersInRange:NSMakeRange( 3 , 2 )];
                           NSLog(@"%@",str);
                           输出结果 : 7154031 @qq.com
                   
                       2.例: rangeOfStringdeleteCharactersInRange:的经典使用
                         2. 的输出结果为: 715134031 @qq.com
                             NSRange range = [str rangeOfString: @"403" ];      // 找到 403
                             [str deleteCharactersInRange:range]; // 删除 403
                             NSLog ( @"%@" ,str);   // 输出结果
                             输出结果 : 715131 @qq.com
             
             4. [strinsertString:@"403"atIndex:5]; ——>插入
                    用途:插入字符串
                      例: 上例输出结果 : 715131 @qq.com
                             // 403 重新插入 str
                            // str insertString:要插入的字符串atIndex:插在哪个位置就写哪
                            [str insertString: @"403" atIndex: 5 ];
                            
NSLog ( @"%@" ,str);
                            
输出结果 : 715134031 @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 老师真帅!
   










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值