C 知识点回顾 四 NSString 、NSMutableString

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);

年岁有加,并非垂老,理想丢弃,方堕暮年。

C 知识点回顾 四 NSString 、NSMutableString

相关文章:

你感兴趣的文章:

标签云: