IOS--OC--LessonNSString 字符串
来源:互联网 发布:中科院软件所招聘 编辑:程序博客网 时间:2024/05/21 18:31
一 NSString
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--LessonNSString 字符串
- iOS 之OC字符串
- IOS OC 字符串
- IOS字符串,NSString,oc字符串操作
- IOS开发---OC语言-㉜NSString字符串
- 【iOS】OC-UTC日期字符串格式化
- iOS 开发 OC编程 属性和字符串
- iOS中OC加载HTML字符串
- [iOS 字符串] oc字符串与c字符串互转
- Oc字符串
- OC字符串
- OC字符串
- OC 字符串
- oc字符串
- OC 字符串
- OC--字符串
- OC字符串
- OC 字符串
- 看源码的一些总结
- Android开源SlidingMenu的使用
- std::function用法
- C++对象内存分布(3) - 菱形继承(virtual)
- 基于社交网络的情绪化分析II
- IOS--OC--LessonNSString 字符串
- 剑指offer 47-不用加减乘除做加法 交换
- Prime Path
- android Viewpager取消预加载及Fragment方法的学习
- 复习纲要更正
- Sql入门---------汇总函数
- Java内存管理机制
- Shuffle'm Up
- Java中4大基本加密算法解析