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