IOS--OC--LessonNSString 字符串
2015-06-26 22:21
489 查看
一 NSString
1.含义:继承于 NSObject 不可变字符串,一旦创建不能改变
2.格式化字符串 NSLog(@”hello%@”,@”lanou”);
二 将文件中的内容读入到字符串对象中
蓝色是数据类型 玫红是地址,你文档存得位置;黄色是编码格式;紫色是返回值,如果出错返回什么.
2. 1⃣获取某段范围的字符串
①定义: 如果 A 是 B 的字串, A 必须是连续的,且 B 中也能找到与 A 一样连续的对应相同的字符的,这时A 才是 B 的字串.
3⃣ 获取到某个位置的字串 从0开始 到指定位置之前
4⃣ 字符串的拼接
①定义:因为nsstring 不可变 所有需设定新的接收
��️字符串的替换
@“小丽”位置的字符串 必须要和你 str 里定义的一样 这样@“刘亦菲才能找到字符串替换”
6⃣ 字符串是否包含某个前缀或者后缀
①公式:前缀 hasPrefix;
后缀 hasSuffix;
// 判断字符串是否包含某个后缀 连续的字串
②
7⃣️ 判断两个字符串相等
①公式:isEqualToString
② 在最上面定义了宏 判断与宏是否相同
8⃣️ 比较字符串大小
公式: compare 区分大小写的
caseInsensitiveCompare 不区分大小写
①compare 区分大小写的 与枚举有关 所用 switch
核心: NSOrderedAscending = -1L, NSOrderedSame = 0, NSOrderedDescending = 1
② caseInsensitiveCompare 不区分大小写
9⃣️ 可变字符串: NSMutableString
①定义: 继承自 NSString 所以 NSString 的方法 NSMutableString 都能用
② 在指定位置插入字符段
公式: 指定位置 :insertString:(nsstring *) atIndex:(NSIneger);
末尾:appendString:( nsstring *);
// 直接在末尾插入
③ 指定范围内删除 字符段
公式:deleteCharactersInRange:NSMakeRange
④ 改 指定范围内修改
公式:eplaceCharactersInRange:NSMakeRange(0, 2) withString:@”躺在星空下的草地上”
三 NSNumber 数字类 继承 NSValue,
// 主要把基本数据类转化为对象 也可把对象转化为基本数据类型
// 数值对象转基本数据类型
四 字母大小写变换
公式:大写:uppercaseString
小写:lowercaseString
首字母大写:capitalizedString
ps:
1.含义:继承于 NSObject 不可变字符串,一旦创建不能改变
2.格式化字符串 NSLog(@”hello%@”,@”lanou”);
二 将文件中的内容读入到字符串对象中
1. NSString *str9 = [[NSString alloc]initWithContentsOfFile:@"/Users/lanouhn/Documents/ali.txt"encoding:NSUTF8StringEncoding error:nil];
蓝色是数据类型 玫红是地址,你文档存得位置;黄色是编码格式;紫色是返回值,如果出错返回什么.
2. 1⃣获取某段范围的字符串
①定义: 如果 A 是 B 的字串, A 必须是连续的,且 B 中也能找到与 A 一样连续的对应相同的字符的,这时A 才是 B 的字串.
ps: NSString *str11 = @"abdcefg"; NSRange rang = {0,4};0-4就是范围 NSString *str12 = [str11 substringWithRange:rang]; 需要新的变量接收 NSLog(@"%@",str12); 2⃣ 通过字串获取在父串中的范围 ① NSRange rang2 =[ str11 rangeOfString:@"abd"]; NSLog(@"%lu,%lu",rang2.location,rang2.length);// 知道字符串 引入 之后用.location .length 求出这个字符串 范围
3⃣ 获取到某个位置的字串 从0开始 到指定位置之前
① NSString *str13 = [str11 substringToIndex:3]; NSLog(@"%@",str13); 从 str11 里的字符串 获取字串 从0开始 到你写的 Index 的数字之前的字串 ② 获取从某个位置开始的字串 从设定的位置开始 到结束 NSString *str14 = [str11 substringFromIndex:3 ]; NSLog(@"%@",str14); 和 index 差不多 但他是从 index 开始往后获取字串
4⃣ 字符串的拼接
①定义:因为nsstring 不可变 所有需设定新的接收
ps: NSString *str15 = [str stringByAppendingString:@"yours"]; NSLog(@"%@",str15); Ps: 格式化的拼接 格式化拼接 肯定有占位符 多少个占位符 逗号后面就跟几个基数 NSString *str16 = [str stringByAppendingFormat:@"your%@",@"firend"]; NSLog(@"%@",str16);
��️字符串的替换
NSString *str17 = [str16 stringByReplacingOccurrencesOfString:@"小丽" withString:@"刘亦菲"]; NSLog(@"%@",str17);
@“小丽”位置的字符串 必须要和你 str 里定义的一样 这样@“刘亦菲才能找到字符串替换”
6⃣ 字符串是否包含某个前缀或者后缀
①公式:前缀 hasPrefix;
后缀 hasSuffix;
ps: NSString *Sstr = @"中国北京海淀清河"; // 判断字符串是否包含某个前缀 连续的字串 BOOL B1 = [Sstr hasPrefix:@"中国"]; NSLog(@"%d",B1); NSLog(@"%@",B1 ? @"YES":@"NO");
// 判断字符串是否包含某个后缀 连续的字串
BOOL B2 = [Sstr hasSuffix:@"海淀"]; NSLog(@"%d",B2); NSLog(@"%@",B2 ? @"YES":@"NO”);//这个是能打出 YES NO 的方式;
②
NSString *s = @"冠希.JPG"; NSString *s1 = nil; //设定新的接收 BOOL B3 = [s hasSuffix:@"JPG"];// 判断有么有 if (B3 !=1) {// 假设1/0 s1 = [s stringByAppendingFormat:@"JPG"]; }else { s1 = [s stringByReplacingOccurrencesOfString:@"JPG" withString:@"PNG"]; } NSLog(@"%@",s1);
7⃣️ 判断两个字符串相等
①公式:isEqualToString
NSString *Sstr2 = @"小王"; NSString *Sstr3 = @"李校长"; BOOL ss = [Sstr2 isEqualToString:Sstr3]; NSLog(@"%d",ss)
② 在最上面定义了宏 判断与宏是否相同
#define USERNAME @"123456@qq.com" #define PASSWORD @"1234567" NSString *inPutUserName = @"123456"; NSString *inPutPassWord = @"1234567"; // 判断有么有"qq.com" BOOL B3 = [inPutUserName hasSuffix:@"@qq.com"]; // NSString *s1 = nil; 在这里不用拼接 她自己就是指针变量 if (B3!=1) { inPutUserName = [inPutUserName stringByAppendingString:@"@qq.com" ];} // 判断用户名和密码 结果为真就登陆成功 反之 BOOL B4 = [inPutUserName isEqualToString:USERNAME];//与定义的用户名和密码想不相同 BOOL B6 = [ inPutPassWord isEqualToString:PASSWORD]; if (B4&&B6) { NSLog(@"OK"); }else{ NSLog(@"用户名或密码错误"); }
8⃣️ 比较字符串大小
公式: compare 区分大小写的
caseInsensitiveCompare 不区分大小写
①compare 区分大小写的 与枚举有关 所用 switch
核心: NSOrderedAscending = -1L, NSOrderedSame = 0, NSOrderedDescending = 1
// -1 :1<2;0: 1=2; 1: 1 >2; NSString *Sstr1 = @"LOL"; NSString *Sstr2 = @"LSPL"; NSInteger n = [Sstr1 compare:Sstr2]; NSLog(@"%ld",n); switch (n ) { case 1: NSLog(@"Sstr2大"); break; case 0: NSLog(@"same"); case -1: NSLog(@"Sstr1大"); break; default: NSLog(@"error"); break; }
② caseInsensitiveCompare 不区分大小写
9⃣️ 可变字符串: NSMutableString
①定义: 继承自 NSString 所以 NSString 的方法 NSMutableString 都能用
ps:①完整的定义 NSMutableString *mm = [[NSMutableString alloc]initWithString:@"我与僵尸有个约会"]; NSLog(@"%@",mm); 快速定义 后面要加.mutableCopy NSMutableString *mm1 = @"我与僵尸有个约会123".mutableCopy; NSLog(@"%@",mm1);
② 在指定位置插入字符段
公式: 指定位置 :insertString:(nsstring *) atIndex:(NSIneger);
末尾:appendString:( nsstring *);
[mm1 insertString:@"皮卡丘" atIndex:3]; NSLog(@"%@",mm1); // 皮卡丘 是你要插入的东西 atIndex是你要插入的位置 [mm1 appendString:@"红莲岛"]; NSLog(@"%@",mm1);
// 直接在末尾插入
③ 指定范围内删除 字符段
公式:deleteCharactersInRange:NSMakeRange
[mm1 deleteCharactersInRange:NSMakeRange (0, 9)];
④ 改 指定范围内修改
公式:eplaceCharactersInRange:NSMakeRange(0, 2) withString:@”躺在星空下的草地上”
[mm1 replaceCharactersInRange:NSMakeRange(0, 2) withString:@"躺在星空下的草地上"]; // with 空间补多少都可以 NSM里输入的范围 意义 清空一段 塞入你所补的字符串 NSLog(@"%@",mm1);
三 NSNumber 数字类 继承 NSValue,
// 主要把基本数据类转化为对象 也可把对象转化为基本数据类型
NSNumber *intNumber = [NSNumber numberWithInt:100]; NSLog(@"%@",intNumber); // 3.14 浮点型 NSNumber *floatNumber = [NSNumber numberWithFloat:3.14]; NSLog(@"%@",floatNumber); // short NSNumber *shortNumber = [NSNumber numberWithShort:2]; NSLog(@"%@",shortNumber); // BOOL NSNumber *BOOLNumber = [ NSNumber numberWithBool:0]; NSLog(@"%@",BOOLNumber); // NSInteger NSNumber *integerNumber = [NSNumber numberWithUnsignedInteger:4]; NSLog(@"%@",integerNumber);
// 数值对象转基本数据类型
int num = [intNumber intValue]; NSLog(@"%d",num); float num1 = [floatNumber floatValue]; NSLog(@"%.2f",num1); short num2 = [shortNumber shortValue]; NSLog(@"%d",num2); BOOL num3 = [BOOLNumber boolValue]; NSLog(@"%d",num3); NSInteger num4 = [integerNumber integerValue]; NSLog(@"%ld",num4);
四 字母大小写变换
公式:大写:uppercaseString
小写:lowercaseString
首字母大写:capitalizedString
ps:
NSString *Sstr1 = @"i am student come from lanou where are you from"; 大写: NSString *Sstr3 = [Sstr1 uppercaseString]; NSLog(@"%@",Sstr3); 小写: NSString *Sstr5 = [ Sstr3 lowercaseString]; 首字母大写: NSString *Sstr7 = [ Sstr5 capitalizedString]; NSLog(@"%@",Sstr7);
相关文章推荐
- IOS--OC--LessonInherit 遍历构造器 与自定义初始化
- [转载] iOS应用程序的生命周期
- IOS--OC--Lesson 封装 setter getter
- IOS--OC--Lesson 类 和对象
- IOS--C 语言 Lesson 函数的返回值
- iOS代码规范
- IOS--C 语言 Lesson 循环
- IOS--C 语言 Lesson Eight Struct
- IOS--C 语言 Lesson Seven 指针函数
- IOS--C 语言 Lesson Six 枚举 与 宏
- IOS--C 语言 Lesson Five Array 冒泡 Str
- IOS--C 语言 Lesson Four if 语句
- iOS代码规范
- IOS--C 语言 Lesson Three 内存
- IOS--C 语言 Lesson Two Print 指针
- iOS mac 终端 常用命令
- iOS开发-文件管理之多的是你不知道的事(二)
- iOS开发-文件管理之多的是你不知道的事(一)
- NSString、NSMutableString基本用法
- ios周刊第五期