字符串类
属于Foundation框架,iOS的基础框架
Foundation包含字符串、集合、日期、时间等等基础类
在iOS里除UI最重要的框架。每个工程必须有它,系统默认添加
NSString *str = @"aaa";
//1.初始化方法
//1.字符串初始化
// 从另外一个字符串初始化新的字符串
// 如果以@""的方式初始化的话, 可以直接赋值
// NSString *ss = @"sss";
NSString *string = [[NSString alloc] initWithString:str];
// 对应的便利构造器
NSString *string4 = [NSString stringWithString:str];
// 有格式的字符串初始化方法
NSString *string2 = [[NSString alloc] initWithFormat:@"%d%@", 10, string];
// 对应的便利构造器
NSString *string5 = [NSString stringWithFormat:@"%d%@", 10, string];
NSLog(@"%@", string2);
//2.空的字符串
NSString *string3 = [[NSString alloc] init];
NSString *string6 = [NSString string];
//3.获取字符串的长度
// NSLog(@"%ld", string2.length);
//4.1.判断字符串是否包含某个前缀
NSString *string7 = @"男哥最帅";
// if ([string7 hasPrefix:@"男哥"]) {
// NSLog(@"YES");// } else {
// NSLog(@"NO");
// }
//4.2.判断字符串是否包含某个后缀
// if ([string7 hasSuffix:@"最帅"]) {
// NSLog(@"YES");
// } else {
// NSLog(@"NO");
// }
//5.判断字符串中是否包含另外一个字符串(查找范围)
// NSRange range = [string7 rangeOfString:@"男哥"];
// NSLog(@"%ld, %ld", range.location, range.length);
//6.1.字符串截取(前面部分)
NSLog(@"%@", [string7 substringToIndex:2]);
//6.2.字符串截取(后面部分)
NSLog(@"%@", [string7 substringFromIndex:2]);
// 6.3给定范围截取字符串
// NSRange range = {2, 2};
// NSLog(@"%@", [string7 substringWithRange:range]);
//7.拼接字符串
NSLog(@"%@", [string7 stringByAppendingString:@"真的很帅"]);
NSLog(@"%@", string7);
NSLog(@"%@", [string7 stringByAppendingFormat:@"%@YEAH%d", @"老王最帅", 66666]);
//8.替换字符串
//给定字符串替换
NSLog(@"%@", [string7 stringByReplacingOccurrencesOfString:@"最帅" withString:@"嗷嗷帅"]);
NSLog(@"%@", string7);
//给定范围替换
NSRange range = {2, 2};
NSLog(@"%@", [string7 stringByReplacingCharactersInRange:range withString:string7]);
//9.字符串比较
NSLog(@"%ld", [@"a" compare:@"b"]);
//判断字符串相等
// 相等 -- 1 YES
// 不相等 -- 0 NO
NSLog(@"%d", [string7 isEqualToString:@"男哥最帅"]);
//10.字符串与数值的转换
NSString *numberString = @"10";
NSLog(@"%d", 10 * numberString.intValue);
//11.大小写转换操作
NSString *string9 = @"aaBb";
// 全大写
NSLog(@"%@", string9.uppercaseString);
// 全小写
NSLog(@"%@", string9.lowercaseString);
// 只有首字母大写
NSLog(@"%@", [string9 capitalizedString]);
//可变字符串 NSMutableString
//它是不可变字符串NSString的子类,它是一个动态的字符串,可以支持增删改等动态操作
//
NSMutableString *str1 = [[NSMutableString alloc]initWithString:@"aac"];
NSMutableString *str2 = [[NSMutableString alloc] initWithString:@"bb"];
//拼接字符串
[str1 appendString:str2];
// NSLog(@"%@", str1);
//插入字符串
NSMutableString *str3 = [[NSMutableString alloc] initWithString:@"djie"];
NSMutableString *str4 = [[NSMutableString alloc] initWithString:@"aaa"];
// [str3 insertString:str4 atIndex:2];
// NSLog(@"%@", str3);
//删除字符串
// NSRange ran2 = {1, 2};
// [str3 deleteCharactersInRange:ran2];
// NSLog(@"%@", str3);
//替换字符串
NSRange range2 = {2, 2};
[str3 replaceCharactersInRange:range2 withString:str4];
NSLog(@"%@", str3);
[str3 setString:@"aa"];
NSLog(@"%@", str3);