OC字符串方法汇总

1、OCSting和CString的区别
       使用alloc创建一个OC字符串
     1、直接把一个NSString通过init方法赋值给我们新创建的NSString字符串
         NSString *tempString = @"hello";//把一个字符串常量赋予一个字符串指针
         NSLog(@"tempString is %@",tempString);//OC字符串的打印不能用%s,而要用%@(实际上%@在OC里面什么都能打)
         NSString *string1 = [[NSString alloc] initWithString:tempString];
         NSLog(@"string1 is %@",string1);
     2、使用一个C语言的字符串通过init方法赋值给我们新创建的NSString字符串
         NSString *string2 = [[NSString alloc] initWithCString:"i am pig"encoding:NSUTF8StringEncoding];
         NSLog(@"string2 is %@",string2);
     3、通过格式化赋值给我们新创建的NSString字符串(有一个拼接的作用)
         NSString *string3 = [[NSString alloc] initWithFormat:@"%@ %@",@"i am",tempString];
         NSLog(@"string3 is %@",string3);
         NSString *string4 = [[NSString alloc] initWithFormat:@"%@",@"我是好人"];
2、NSString的所有方法
     A、使用类方法创建OC字符串(这个才是我们常用的创建方法)
    1、使用字符串直接赋值
        NSString *tempString = @"hello";
        NSString *string5 = [NSString stringWithString:tempString];
        NSLog(@"string5 is %@",string5);
    2、使用C语言字符串赋值
        NSString *string6 = [NSString stringWithCString:"我爱你" encoding:NSUTF8StringEncoding];
        NSLog(@"string6 is %@",string6);
        NSString *string7 = [NSString stringWithFormat:@"我是%@",@"猪"];
        NSLog(@"string7 is %@",string7);        
    B、字符串的拼接
        NSString *string8 = @"你好";
        NSString *string9 = @"北京";
        NSString *catString = [NSString stringWithFormat:@"%@,%@",string8,string9];
        NSLog(@"catString is %@",catString);        
        NSString *catSecondString =[catString stringByAppendingString:@"我来了"];
        NSLog(@"catSecondString is %@",catSecondString);      
        NSString * catSecondString2=[NSString stringWithFormat:@"今天天气不错"];
        NSString *catSecondString3= [catSecondString2 stringByAppendingString:@"我们不上课"];
        NSLog(@"catSecondString3 %@",catSecondString3);        
    C、字符串长度
        NSString *aString = @"收拾收拾";
        NSInteger stringLength = [aString length];
        NSLog(@"astring 的长度是 %lu",stringLength);        
      D、判断字符串是否相等 关键词:isEqualToString,调用这个方法的是一个字符串对象,参数也是一个字符串对象,返回值是一个BOOL值(YES/NO),所谓bool值就是int值,可以用%d打印
        NSString *first = @"我2";
        NSString *second = @"我2";
        BOOL isEqual = [first isEqualToString:second];
        NSLog(@"%d",isEqual);
      E 、字符串比较 关键词compare,
        NSString *string1 = @"我是羊";
        NSString *string2 = @"我是羊";
        int result = [string1 compare:string2];
        NSLog(@"%d",result);
        
            E.a不区分大小写的字符串比较 关键词compare: options:
        NSString *str1 = @"abcd";
        NSString *str2 = @"ABCD";
        int result = [str1 compare:str2 options:NSCaseInsensitiveSearch];
        NSLog(@"%d",result);
        
      F、大小写转换
        NSString *str1 = @"abcd";
        NSString *uperStr = [str1 uppercaseString];//小写转大写
        NSLog(@"\nuper is %@ \nolder is %@",uperStr,str1);
        
        NSString *str2 = @"ABCD";
        NSString *lowerStr = [str2 lowercaseString];//大写转小写
        NSLog(@"\nlower is %@ \nolder is %@",lowerStr,str2);
        
        NSString *str3 = @"sAfdnl";
        NSString *capStr = [str3 capitalizedString];//首字母大写
        NSLog(@"\ncap is %@ \nolder is %@",capStr,str3);
        
      G、字符串查找
        NSString *str = @"我们都是大好人,大好人,大好人。";
     G.a  接下来我想查找“大好人”上面字符串里面有没有
        NSRange range = [str rangeOfString:@"大好人"];//调用这个方法的是一个字符串对象变量,参数是想要查找的内容字符串,结果是在调用的字符串里面有没有,在哪儿有
        if(range.location == NSNotFound)//如果成功,说明没有
        {
            NSLog(@"没找着");
        }
        else
        {
            NSLog(@"location is %d,length is %d",range.location,range.length);
        }
        //NSRange里面有两个变量,一个是位置index,一个是长度length. NSRange不是对象,是个结构体
        
     G.b 从后向前找
        NSRange range1 = [str rangeOfString:@"大好人" options:NSBackwardsSearch];
        NSLog(@"location is %d,lenth is %d",range1.location,range1.length);
        
     G.c 判断前后缀
        NSString *str = @"1234567890";
        //前缀 关键词hasPrefix
        BOOL isHave21 = [str hasPrefix:@"12"];
        if(isHave21 == YES)
        {
            NSLog(@"你赢了");
        }
        else
        {
            NSLog(@"你输了");
        }
        //后缀 关键词hasSuffix
        BOOL isHave09 = [str hasSuffix:@"90"];
        if(isHave09 == YES)
        {
            NSLog(@"找到了");
        }
        else
        {
            NSLog(@"木有怎么办");
        }
        
     H、字符串提取(截出来)
        NSString *str = @"123321234567";
          H.a 从头截起到某一个index(下标)该index不截
        NSString *topStr = [str substringToIndex:4];
        NSLog(@"%@",topStr);
         H.b 从某一个index截起,到最后为止,该index截
        NSString *endStr = [str substringFromIndex:8];
        NSLog(@"%@",endStr);
         H.c 截某一段,使用NSRange,location那个index截
//        NSString *rangeStr = [str substringWithRange:NSMakeRange(4, 4)];//制作一个NSRange使用NSMakeRange(location,length)
//        NSLog(@"%@",rangeStr);
//        
//        NSRange range = [str rangeOfString:@"1234"];
//        if(range.location == NSNotFound)
//        {
//            NSLog(@"什么也不干");
//        }
//        else
//        {
//            NSString *finalStr = [str substringWithRange:range];
//            NSLog(@"%@",finalStr);
//        }
3、NSMutableString的所有方法

        //NSMutableString在使用时最好不要直接赋值(=@“”),因为这个NSMutableString是可变字符串,他的内容应该都是append进去的
        
//        //alloc创建 Mutable的东西都要初始化
//        NSMutableString *mutableStr = [[NSMutableString alloc] initWithCapacity:0];//参数capacity后面写多少都不会报错,但是一般都先写0
//        
//        //类方法创建
//        NSMutableString *mutableStrClass = [NSMutableString stringWithCapacity:0];
        
        //增(赋值)
        /*
         1、创建可变字符串对象
         2、向这个对象进行添加
         */
        NSMutableString *str = [NSMutableString stringWithCapacity:0];//创建对象
        [str appendString:@"123"];//直接添加
        NSLog(@"%@",str);
        [str appendFormat:@"%d",11];//格式化添加
        NSLog(@"%@",str);
        [str insertString:@"我" atIndex:3];//向index的位置添加字符串
        NSLog(@"%@",str);
        
        //删(删的还是自己)
        [str deleteCharactersInRange:NSMakeRange(2, 3)];//删除可变字符串中的一个区间的字符串
        NSLog(@"%@",str);
        
        //改
        [str setString:@"abcdefg"];//全改
        NSLog(@"%@",str);
        
        [str replaceCharactersInRange:NSMakeRange(3, 2) withString:@"一二三四"];//把可变字符串中的一段改为第二个参数的字符串内容
        NSLog(@"%@",str);

 

转载于:https://my.oschina.net/jimolengsha/blog/686481

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值