//1. 不可变类型(NSNumber, NSString, NSArray, NSDictionary, NSSet)
//2. 不可变类型的引用计数可能是不符合规则
NSString *str1 = @"abc";
NSString *str2 = @"efg";
//字符串连接
NSString *str3 = [[NSString alloc]initWithFormat:@"%@%@",str1,str2];
NSLog(@"%@",str3);
NSString *str4= [str1 stringByAppendingFormat:@"%@",str2];
NSLog(@"%@",str4);
NSString *str5 = [str1 stringByAppendingString:str2];
NSLog(@"%@",str5);
//c字符串和oc之间的转换
char *cstr = "abc";
NSString *str = @(cstr);//语法糖
str = [[NSString alloc] initWithCString:cstr encoding:NSUTF8StringEncoding];//C语言 -> OC
//获取资源文件夹下的文件路径
// NSString *path = [[NSBundle mainBundle] pathForResource:@"File" ofType:@""];
//[[NSBundle mainBundle] resourcePath];
//[[NSBundle mainBundle] bundlePath];
NSString *path = NSHomeDirectory();
path = [NSString stringWithFormat:@"%@/Documents/test.txt", path];
NSLog(@"%@", path);
//保存文件
[path writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
str = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", str);
//从OC -> C
const char *cstr2 = [str04 cStringUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%s", cstr2);
const char *cstr3 = [str04 UTF8String];
NSLog(@"%s", cstr3);
// 如果有前缀
NSString *str05 = @"http://www.baidu.com";
if ([str05 hasPrefix:@"http://"]) {
NSLog(@"这是http协议");
}
// 如果有后缀
if ([str05 hasSuffix:@".com"]) {
NSLog(@"这是一个.com域名");
}
//获取大写
NSString *str06 = @"Zhang".uppercaseString;
NSLog(@"%@", str06);
//获取小写
NSLog(@"%@", str06.lowercaseString);
// 判断字符串是否相等
if ([str06 isEqualToString:@"ZHANG"]) {
NSLog(@"相等");
}
// 字符串比较strcmp
NSLog(@"%ld", [str06 compare:@"xxx"]);
// 字符串连接
NSString *str07 = [@"http://" stringByAppendingString:@"www.baidu.com"];
NSLog(@"%@", str07);
// 创建字符串
NSString *str08 = @"Zhangsan,Lisi,Wangwu,Lisi";
//分割字符串
NSArray *array = [str08 componentsSeparatedByString:@","];
NSLog(@"%@: %lu", array, array.count);
NSString *str09 = [array componentsJoinedByString:@"-"];
NSLog(@"%@", str09);
//获取子串
//[ )
// 确定范围,并把该范围的字符串打印出来
NSRange range = NSMakeRange(2, 4);
NSString *str10 = [str08 substringWithRange:range];
NSLog(@"%@", str10);
// 查找已有字符串的位置并输出位置
range = [str08 rangeOfString:@"Lisi"];
NSLog(@"(%lu, %lu)", range.location, range.length);// ( )
NSLog(@"%@", NSStringFromRange(range)); //{ }
// 用新子字符串替换字符串中已有的子字符串
NSString *str11 = [str08 stringByReplacingOccurrencesOfString:@"Lisi" withString:@"Zhao"]; //所有相同的都会被替换掉
NSLog(@"%@", str11);
NSString *str13 = [str08 stringByReplacingCharactersInRange:NSMakeRange(9,4) withString:@"momo"]; //把指定范围内的字符替换
NSLog(@"str13=%@",str13);
// 给字符串后面加一个 .txt
NSString *str12 = [str08 stringByAppendingPathExtension:@"txt"];
NSLog(@"%@", str12);
// 给字符串后面加一个 /txt
NSString *str14 = [str08 stringByAppendingPathComponent:@"txt"];
NSLog(@"%@",str14);
}