首页 > 代码库 > 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