首页 > 代码库 > Foundation-03_字符串_NSString
Foundation-03_字符串_NSString
NSString :不可变字符串
创建字符串的方法:
NSString *s1 = @"123";
NSString *s2 = [[NSString alloc] initWithString:@""];//没人这么写
NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d",10];
//C字符串转换成OC字符串
NSString *s4 = [[NSString alloc] initWithUTF8String:"java"];
//OC字符串转换成C字符串
const char *cs = [s4 UTF8String];
从文件读取
//NSUTF8StringEncoding 用到中文就可以用这种编码
NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
从URL读取:
URL:资源路径
协议头://路径
本地资源:file://路径
网络资源:http://或者ftp://
NSURL *url = [[NSURL alloc] initWithString:@"http://weibo.com/a.png"];
NSString *s6 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
使用类方法创建:
系统自带的方法, 一般都会有一个类方法跟对象方法配对
[NSString stringWithFormat:<#(NSString *), ...#>];
[NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>]
[NSURL URLWithString:<#(NSString *)#>]
[NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt" ]//这种方式不需要协议头
//将字符串写入文件
[@"yao" writeToFile:@"/Users/apple/Desktop/1.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
//将字符串写入URL资源
NSString *str = @"12314234";
NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
[str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSMutableString:可变字符串(继承自NSString)------和C#中的StringBuilder类似
NSString的所有方法都能用
NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];
//拼接内容到s1后面 (这样拼接没有返回值)
[s1 appendString:@" 11 12"];
//查找某个字符串在另一个字符串中的范围
NSRange range = [s1 rangeOfString:@"is"];
//删除某个范围内的字符
[s1 deleteCharactersInRange:range];
//NSString也可以在后面拼接字符串,但是这种方法是有返回值,也就是重新生成了一个新的字符串
NSString *s2 = [NSString stringWithFormat:@"age is 10"];
NSString *s3 = [s2 stringByAppendingString:@" 11 12"];
NSString的截取
Foundation-03_字符串_NSString
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。