NSString/NSMutableString/NSNumber/NSValue

// NSString 不可变字符串

        // 1.创建字符串

        // 1>.初始化方法

        NSString *str1 = @"hello";

        NSString *str = [[NSString alloc] initWithFormat:@"%@-word",str1];

        NSLog(@"%@",str);

        // 2>.便利构造器方法

        NSString *str2 = [NSString stringWithFormat:@"%@-word- %@",str1,@"just do it"];

        NSLog(@"%@",str2);

        

        // 2.字符串长度

        NSUInteger length = [str length];

        NSLog(@"%lu %lu",length,[str2 length]);

        

        // 3.C语言的字符串转化为OC的字符串对象

        char cstr[] = "iPhone";

        NSString *ocstr = [NSString stringWithUTF8String:cstr];

        NSLog(@"%@",ocstr);

        

        // 4.判断该字符串是否以XX开头或者以XX结尾

        NSString *address = @"www.baidu.com";

        BOOL isStart = [address hasPrefix:@"www"];

        BOOL isEnd = [address hasSuffix:@" om"];

        NSLog(@"%d %d",isStart,isEnd);

        

        // 5.获取字符串范围

        // NSRange 结构体

        // location :字符串所在位置

        // length: 字符串的长度

        // NSStringFromRange(NSRange); NSRange结构体变量转换成对象,可以直接用 %@输出

        NSRange range = [address rangeOfString:@"bai"];

        NSLog(@"%@",NSStringFromRange(range));

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

        

        // 6.获取字符串

        // substringFromIndex 得到的字串包含所给的下标对应的字符(从下标开始)

        NSString *substr1 = [address substringFromIndex:3];

        NSLog(@"%@",substr1);

        // substringToIndex 得到的字串不包含所给的下标对应的字符(到下标之前)

        NSString *substr2 = [address substringToIndex:3];

        NSLog(@"%@",substr2);

        NSString *substr3 = [address substringWithRange:NSMakeRange(4, 3)];

        NSLog(@"%@",substr3);

        

        // 7.字符串字母大小写转换

        // 1>.全部转大写

        NSString *upStr = [address uppercaseString];

        NSLog(@"%@",upStr);

        // 2>.全部转小写

        NSString *lowerstr = [upStr lowercaseString];

        NSLog(@"%@",lowerstr);

        // 3>.单词首字母大写

        NSString *capitalStr = [address capitalizedString];

        NSLog(@"%@",capitalStr);

        

        // 8.字符串拼接

        // 1>

        NSString *appendStr1 = [NSString stringWithFormat:@"i love%@",@" you"];

        NSLog(@"%@",appendStr1);

        // 2>

        NSString *string = [NSString stringWithFormat:@"i love"];

        NSString *appendStr2 = [string stringByAppendingString:@" you"];

        NSLog(@"%@",appendStr2);

        

        // 9.字符串替换

        // stringByReplacingOccurrencesOfString:(NSString *) withString:(NSString *);首先在给定的字符串中查找方法中的第一个参数里的字符串,如果找到,将其替换成第二给参数给定的字符串,找到多个,全部替换,找不到,不进行替换

        NSString *replaceStr1 = [appendStr2 stringByReplacingOccurrencesOfString:@"o" withString:@"*"];

        NSLog(@"%@",replaceStr1);

        NSString *replaceStr2 = [appendStr2 stringByReplacingOccurrencesOfString:@"love" withString:@"hate"];

        NSLog(@"%@",replaceStr2);

        

        // 10.字符串比较

        NSString *compareStr1 = [NSString stringWithFormat:@"aaa"];

        BOOL isEqual = [compareStr1 isEqualToString:@"aa"];

        NSLog(@"%d",isEqual);

        

        // NSMutableString 可变字符串,可以修改其本身

        // 1.创建NSMutableString

        // 1>.初始化

        NSMutableString *mStr1 = [[NSMutableString alloc] initWithFormat:@"NSMutableString"];

        NSLog(@"%@",mStr1);

        // 2>.便利构造器

        NSMutableString *mStr2 = [NSMutableString stringWithFormat:@"NSMutableString"];

        NSLog(@"%@",mStr2);

        

        // 2.插入字符串

        [mStr1 insertString:@"插入" atIndex:5];

        NSLog(@"%@",mStr1);

        

        // 3.删除字符串

        // 从下标为location的位置开始删除length长度个字符

        [mStr1 deleteCharactersInRange:NSMakeRange(5, 2)];

        NSLog(@"%@",mStr1);

         

        // 4.拼接字符串

        // 在字符串最后粘贴上

        [mStr1 appendString:@"111"];

        NSLog(@"%@",mStr1);


        // NSNumber 数值对象,完成数值标量与对象类型的互转.

        int a = 10;

        NSLog(@"%d",a);

        // int类型转换为NSNumer对象类型

        NSNumber *objInt = [NSNumber numberWithInt:a];

        NSLog(@"%@",objInt);

        [NSNumber numberWithInteger:a];

        NSLog(@"%@",objInt);

        // NSNumber对象转回原数值类型

        int value = [objInt intValue];

        NSLog(@"%d",++value);

        

        // NSValue 完成标量到对象类型的互转(结构体,指针)

        NSValue *value2 = [NSValue valueWithRange:NSMakeRange(10, 20)];

        NSLog(@"%@",value2);

        

        // 将自定义的结构体转化成NSValue对象

        Stu stu1 = {"zhangsan",'m'};

        // 参数1:获取要转化成对象的结构体变量的地址.

        // 参数2:按照对应的结构体类型进行对象的转化.

        NSValue *value3 = [NSValue valueWithBytes:&stu1 objCType:@encode(Stu)];

        NSLog(@"%@",value3);

        // NSValue对象转回自定义结构体类型

        Stu stu2;

        [value3 getValue:&stu2];

        NSLog(@"%s %c",stu2.name,stu2.gender);


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值