天天看點

Foundation架構中的NSString

------期待與您交流! -------

一、NSString(不可變)

   1. 字元串(NSString)的建立方式

    (1)NSString * [email protected]"4234";

    (2)NSString * s2=[[NSString alloc] initwithstring : @"jack"];(不常用)

    (3)NSString * s3=[[NSString alloc] initwithFormat : @"age is %d",10] ;

    (4)NSUTF8StringEncoding用到中文就可以用這種編碼

            NSString*s5=[[NSString alloc] initwithContentsOfFile:@"/Users/apple/Desktop/1.txt"encoding:NSUTF8StringEncoding                           error:nil];              //桌面檔案路徑

            //URL:資源路徑(協定頭://路徑)

            網絡資源   : http://

            本地資源   : file://

            伺服器資源: ftp://

            NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];

            NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];

    (5)NSString *s6 = [[NSString alloc] initWithContentsOfURL:urlencoding:NSUTF8StringEncoding error:nil];

    (6)NSString *s7 = [s2 stringByAppendingString:@" 1112"];

            一般都會有一個類方法跟對象方法配對

            [NSURL URLWithString:<#(NSString *)#>];

            [NSString stringWithFormat:@""];

            [NSString stringWithContentsOfFile:<#(NSString *)#>encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing*)#>];

   2. C語言字元串與OC字元串的轉換

    (1)C語言字元串轉為OC字元串 :NSString *s7 = [[NSString alloc]initWithUTF8String:"jack"];

    (2)OC字元串轉為 C語言字元串:const char *cs = [s4 UTF8String];

   3. 将一個字元創寫到檔案中

      [@"Jack\nJack"writeToFile:@"/Users/apple/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];

       //将"jack"這個字元串寫進/Users/apple/Desktop/my.txt這個檔案中去(一般寫Yes, 安全性高)

      也可以調用類方法實作:

      [str writeToURL:url atomically:YESencoding:NSUTF8StringEncoding error:nil];

   4. 輸出: NSLog(@”我在%@上課”,str);

   5. 擷取目前字元串的長度:[str length];//字元串length方法傳回的是字元串的字數(空格算一個字)

二、NSMutableString(NSString的子類)(可變的)

   1. NSString所有的建立方式,NSMutableString都擁有

   2. NSMutableString是可變的,可以往裡面增加或删除内容

   3. 拼接

       NSMutableString *s1 = [NSMutableStringstringWithFormat:@"my age is 10"];

       [s1 appendString:@" 11 12"];        // 拼接内容到s1的後面

   4. 删除

       NSMutableString *s1 = [NSMutableStringstringWithFormat:@"my age is 10"];

       [s1 deletecharactersInRange:NSMakeRange(4,2)];      //删除s1中某個位置範圍的字元

   5. 如果要删除某個固定的字元

    (1)首先擷取is的範圍

            NSRange range = [s1 rangeOfString:@"is"];

    (2)再進行删除

            [s1 deleteCharactersInRange:range];

*補充:NSString也有appendstring方法,但是它不會改變原來的字元串,隻是傳回了一個新的拼接好的字元串