为了巩固学习,脱离智能提示,不是在xcode中编辑,是在文本格式下创建
不可变字符串
1.创建对象
NSString *str1 = [[NSString alloc] initWithFormat:@"abcdefg%d",123];//根据指定格式创建字符串对象
NSLog(@"%@",str1);
NSString *str2 = [NSString stringWithFormat:@"%d",123];
NSLog(@"%@",str2);
2.根据已有字符串创建对象
//以下方法适合在子类可变字符串中使用,可将一个已有的不可变字符串对象转换为可变字符串
NSString *str3 = [[NSString alloc]initWithString:@"haha"];
NSString *str4 = [NSString stringWithString:@"haha"];
将c语言字符串转成oc的字符串对象,同时要指定编码格式,默认使用NSUTF8StringEncoding
char *str = "okokokokok";
NSString *str5 = [NSString alloc]initWithCString:cStr encoding:NSUTF8StringEncoding];
NSString *str6 = [NSString stringWithCString:cStrencoding:NSUTF8StringEncoding];
3.获取某个字符穿串对象的长度
NSUInteger length = [str8length];
NSLog(@"%ld",length);
4.根据指定下标获取对应字符串对象的字符
for (inti = 0;i < length;i++){
NSLog(@"%c",[str8characterAtIndex:i]);
}
5.字符串对象的大小写转换
先创建一个对象
NSString *str9 =@"Welcome to China";
NSLog(@"%@",str9);
转换成大写字符串
NSString *upperStr = [str9uppercaseString];
NSLog(@"%@",upperStr);
转换成小写字符串
NSString *lowerStr = [upperStrlowercaseString];
NSLog(@"%@",lowerStr);
转换成首字母大写的字符串
NSString *capitalStr = [str9capitalizedString];
NSLog(@"%@",capitalStr);
6.字符串拼接
一.将指定的参数字符串拼接在消息接收字符串对象的后面,返回新的结果字符串,原字符串不改变
NSString *str10 = [str9 stringByAppendingString:str8];
NSLog(@"%@",str10);
二.拼接指定的字符串,返回拼接结果,灵活度较高
NSString *str11 = [str9 stringByAppendingFormat:@"%d+%d",1,2];
NSLog(@"%@",str11);
打印结果就为Welcome to China1+2;
7.判断指定字符串是否包含某个前缀字符串
BOOL result = [@"http://www.apple.com" hasPrefix:@"http"];//后缀即把hasPrefix 换成 hasSuffix
NSLog(@"%@",result ?@"YES":@"NO");
8.获取参数字符串在指定字符串中的范围,用NSRange结构体类型描述,结构体包含两个成员,起始下标location,长度length,如果存在,length不为0,反之为0;command + 鼠标左键可以跳转到.h文件,如下图
NSString *str12 = @"this is a test string";
NSRange range = [str12 rangeOfString:@"test"];
NSLog(@"%@",NSStringFromRange(range));
9.截取字符串,从指定下标开始,包含指定下标,返回到字符串结束的子字符串
NSString *subStr1 = [str12 substringFromIndex:3]; //从下标为3的字符开始截取,直到结束
NSLog(@"%@",subStr1);
10.从字符串开头截取到指定下标为止,不包含指定下标
NSString *subStr2 = [str2 substringToIndex:3];
可变字符串
//NSMutableString可变字符串,为NSString 的子类,即在不可变字符串类的基础上加入了增,删,改的特性。
NSMutableString *mutableStr1 = [NSMutableString string];
[mutableStr1 setString:@"how"];
1.拼接
[mutableStr1 appendFormat:@"%d",66];
2.插入字符串
[mutableStr1 insertString:@"duang",atIndex:0]; //在指定下标插入给定的字符串
3.替换已有字符串
[mutableStr1 replaceCharactersInRange:NSMakeRange(1,2)withString:@"hehe"]; //将指定范围内的字符替换成给定的字符串
4.删除字符串
[mutableStr1 deleteCharactersInRange:NSMakeRange(1,5)]; //删除指定范围内的字符