OC学习笔记之NSString常见处理方法

 NSString *str = @"我是一个\0字符串!";

        //获取字符串的长度,不是有效长度,遇到\0不会结束;

        NSUInteger a = [str length];

        NSLog(@"%lu",a);//9

        NSLog(@"%lu",sizeof(str));//8

        

        //获取字符串指定位置的字符

       //    unichar 万国码  typedef unsigned short unichar;

        //  - (unichar)characterAtIndex:(NSUInteger)index;

//    %C 输出。  %c,// *   %hu,//20010 为什么?

        unichar ch =[str characterAtIndex:3];

        NSLog(@"%C",ch);

    

    //字符串的比较

        //1.比较两个字符串是否相等  BOOL YES NO

        //  - (BOOL)isEqualToString:(NSString *)aString;

        // C 比较:strcmp 函数

        char stringc1[] = "string!";

        char stringc2[] = "string!"; if(strcmp(stringc1, stringc2) == 0) {

            NSLog(@"相等"); }

        

     //  oc 

    NSString *string2 = @"ABCDE";

        BOOL isequal = [str isEqualToString:string2];

        NSLog(@"%d",isequal);

        if (isequal) {

            NSLog(@"两个字符串相等");

        }else

        {

            NSLog(@"两个字符串不相等");

        }

        NSString *str2 = @"ABCDE";

        BOOL is = [string2 isEqualToString:str2];

        if (is) {

            NSLog(@"两个字符串相等");

        }else

        {

            NSLog(@"两个字符串不相等");

        }

        //2.比较两个字符串的大小

      //   NSComparisonResult

       //   typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

        

        //NSOrderedSame 判断两者内容是否相同

        //NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring01 小于 astring02 为真)

        //NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring01 大于 astring02 为真)

        //  - (NSComparisonResult)compare:(NSString *)string;


        NSComparisonResult ret = [str2 compare:string2];

        NSLog(@"%ld",ret);//compare 返回值为  -1  0  1

        if(ret==NSOrderedSame)

        {

            NSLog(@"str2===string2");

        }else if (ret==NSOrderedDescending)

        {

            NSLog(@"str2>>>string2");

        }else

        {

            NSLog(@"str2<<<string2");

        }

        //3. 不考虑大小写比较字符串

        NSString *astring01 = @"this is a String!";

        NSString *astring02 = @"This is a String!";

        BOOL resu = [astring01 caseInsensitiveCompare:astring02] == NSOrderedSame;

        NSLog(@"result:%d",resu);

        /*  enum _NSComparisonResult {

            NSOrderedAscending = -1,

            astring01 小于 astring02 NSOrderedSame, astring01 等于 astring02 NSOrderedDescending astring01 大于 astring02 };

        */

        //4.在字符串中查找子串的位置 返回子串出现的范围

/*  typedef struct _NSRange {

        NSUInteger location;//出现的首位置

        NSUInteger length;//字符串的长度

    } NSRange;

*/

        NSRange range = [string2 rangeOfString:@"CD"];

        //NSNotFound 是最⼤的正整数,如果 location==NSNotFound代表没有查找到该⼦子串

       // NSNotFound  enum {NSNotFound = NSIntegerMax};

        if(range.length==NSNotFound)

        {

            NSLog(@"没有查到该子串");

        }else

        {

            NSLog(@"range.location==%lu,range.length==%lu",range.location,range.length);

        }

        

        //5.在字符串中截取⼦子串

        

        

        // 从指定下标开始直到字符串结尾

        //-substringFromIndex: 从指定位置开始(包括指定位置的字符)提取,并包 括之后的全部字符 直到最后;

        NSString *string3 = @"This is a string";

        NSString *string4 = [string3 substringFromIndex:3]; NSLog(@"string4:%@",string4);

        

        // -substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符

        NSString *string5 = [string3 substringToIndex:6];

        NSLog(@"%@",string5);

        

        // -substringWithRange: //在指定范围内从字符串中截取子串

        NSString *string6 = [string3 substringWithRange:NSMakeRange(3, 6)];

        NSLog(@"%@",string6);

        

        

        

        //6.改变字符串的大小写

        //转大写

        NSString *str6 = [string3 uppercaseString];

        NSLog(@"%@",str6);

        //转小写

        NSString *str7 = [str6 lowercaseString];

        NSLog(@"%@",str7);

        //首字母大写

        NSString *str8 = [str7 capitalizedString];

        NSLog(@"%@",str8);

        

        

        //7.判断前缀 后缀

       // 检查字符串是否以另一个字符串开头- (BOOL) hasPrefix: (NSString *)aString; (判断前缀)

        NSString *Sting1 = @"NSStingInformation.txt";

        [Sting1 hasPrefix:@"NSSting"] == 1 ? NSLog(@"YES") : NSLog(@"NO");

        //检查字符串是否以另一个字符串结尾- (BOOL) hasSuffix: (NSString *) aString; (判断后缀)

        [Sting1 hasSuffix:@"txt"]== 1 ? NSLog(@"YES"):NSLog(@"NO");

       

        

        

        //8.去除字符串首末的空格

        NSString *stri = @"   space in front at the end    ";

        NSString *trimmedString = [stri stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

        NSLog(@"%@",trimmedString);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值