Objc-C 知识点回顾 四 NSString 、NSMutableString
2015-12-08 11:06
246 查看
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# 拷贝文件夹(包含里面的所有文件)
- maven项目无法运行在Tomcat环境
- 高仿QQ消息,可以下拉刷新带小红点
- Unclosed character class near index 2 ],[
- IOS-39-对第三方MBProgressHUD库的再封装
- 关于onSaveInstaceState的一点小误解
- datagrid的列非常多的时候,而且没有表格数据,横向滚动条不会显示
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换
- Linux学习笔记--7.vim查找替换