Objc-C 知识点回顾 四 NSString 、NSMutableString

来源:互联网 发布:北上广不相信眼泪 知乎 编辑:程序博客网 时间:2024/06/05 10:57
1.NSString    //NSString:不可变字符串, 一旦创建, 不能修改    //初始化方法    //创建空字符串    NSString *string1 = [[NSString alloc] init];    NSLog(@"%@", string1);     //根据给定的常量字符串,创建NSString对象    NSString *string2 = [[NSString alloc] initWithString:@"iPhone"];    NSLog(@"%@", string2);     //常量区字符串    NSString *string3 = @"iPhone";    NSLog(@"%@", string3);    NSLog(@"%p", string3);//输出地址    //如果要创建的字符串中出现其他变量, 需要用initWithFormat的方式创建    NSInteger version = 6;    NSString *string4 = [[NSString alloc] initWithFormat:@"iPhone %ld", version];    NSLog(@"%@", string4);      //便利构造器    NSString *str1 = [NSString string];    NSLog(@"%@", str1);    NSString *str2 = [NSString stringWithString:@"iOS"];    NSLog(@"%@", str2);     NSString *str3 = @"iOS";    NSLog(@"%@", str3);    NSString *str4 = [NSString stringWithFormat:@"iOS %ld", version];    NSLog(@"%@", str4);    //获取字符串的长度//    NSUInteger length = [str4 length];//调用getter方法//    NSLog(@"%lu", length);    NSLog(@"%lu", str4.length);//点语法    //判断字符串是否以置顶字符串开始或结束    NSString *str5 = @"abcdpp123";//常量区字符串    NSString *str6 = [[NSString alloc] initWithFormat:@"abcdpp123"];//堆区字符串    //前缀    BOOL result = [str6 hasPrefix:@"abd"];    NSLog(@"%d", result);    //后缀    result = [str6 hasSuffix:@"23"];    NSLog(@"%d", result);    //字符串截取(截取子字符串)    //获取abc(开头字符串)    NSString *subStr1 = [str6 substringToIndex:3];    NSLog(@"%@", subStr1);    //获取123(结尾字符串)    NSString *subStr2 = [str6 substringFromIndex:6];    NSLog(@"%@", subStr2);    //获取dpp(中间字符串)    //NSRange range = {3, 3};    NSString *subStr3 = [str6 substringWithRange:NSMakeRange(3, 3)];    NSLog(@"%@", subStr3);    //拼接字符串    NSString *newSubStr = [subStr1 stringByAppendingString:subStr2];    NSLog(@"%@", subStr1);    NSLog(@"%@", subStr2);    NSLog(@"%@", newSubStr);    NSLog(@"%p", newSubStr);//输出地址    NSString *newSubStr1 = [NSString stringWithFormat:@"%@%@", subStr1, subStr2];    NSLog(@"%@", newSubStr1);    NSLog(@"%p", newSubStr1);//输出地址    //替换字符串    //@"NBA" -> @"CBA";    NSString *str7 = @"NBANNN";    NSString *newSubStr2 = [str7 stringByReplacingOccurrencesOfString:@"N" withString:@"C"];    NSLog(@"%@", newSubStr2)    //字符串比较    //@"NBA" 和 @"CBA";//    NSString *str8 = @"NBA";//    NSString *str9 = @"CBA";    NSString *str8 = [[NSString alloc] initWithFormat:@"NBA123456aa"];    NSString *str9 = [[NSString alloc] initWithFormat:@"NBA123456aa"];    //isEqualToString比较的是字符串的内容    if ([str8 isEqualToString:str9]) {        NSLog(@"字符串相等");    } else {        NSLog(@"不一致");    }    //==比较两个对象是否一致, 如果对象一致, 他们的内容一定一致    if (str8 == str9) {        NSLog(@"字符串相等");    } else {        NSLog(@"不一致");    }    //字符串和数值类型相互转换    //@"123"    //转化成数字, 遇到非数字即停止转换    NSString *str10 = @"123a456";    int a = [str10 intValue];    NSLog(@"%d", a);    NSInteger b = [str10 integerValue];    NSLog(@"%ld", b);    //大小写转换操作    //@"ios" -> @"iOS"    NSString *str11 = @"ios";    //全部大写    NSString *newStr = [str11 uppercaseString];    NSLog(@"%@", newStr);    //首字母大写    NSLog(@"%@", [str11 capitalizedString]);    //全部小写    NSLog(@"%@", [str11 lowercaseString]);2.NSMutableString:可变字符串    //@"iPhone"    //创建可变字符串, 容器大小是一个预期值, 一般写为0, 让系统自己根据内容大小分配空间    NSMutableString *mString = [[NSMutableString alloc] initWithCapacity:0];    NSLog(@"%@", mString);    //添加字符串    [mString appendString:@"iPhone"];    NSLog(@"%@", mString);    [mString appendFormat:@"iPhone %ld", version];;    NSLog(@"%@", mString);    //插入字符串    [mString insertString:@" " atIndex:6];    NSLog(@"%@", mString);    //删除字符串    [mString deleteCharactersInRange:NSMakeRange(0, 7)];    NSLog(@"%@", mString);    //做个练习,给定一个图片文件名,判断字符串中是否以“png”结尾,如果是就替换成“jpg”,如果不是,就拼接”.jpg”。    NSMutableString *name = [[NSMutableString alloc] initWithCapacity:0];    [name appendString:@"蓝鸥.png"];    if ([name hasPrefix:@"png"]) {        NSLog(@"以'png'结尾");        [name replaceCharactersInRange:NSMakeRange(name.length - 3, 3) withString:@"jpg"];    } else {        NSLog(@"不以'png'结尾");        [name appendString:@".jpg"];    }    NSLog(@"%@", name);

0 0
原创粉丝点击