------Java教育訓練、Android教育訓練、iOS教育訓練、.Net教育訓練、期待與您交流! -------
1,概念:操作字元串的類
2,子類:
NSMutableString:可變字元串
NSString:不可變字元串
3,NSString的簡單操作
建立NSString
對象方法:
最基本的方法
NSString *str1 = @"Demo";
跟基本方法沒差別,太麻煩不推薦
NSString *str2 = [[NSString alloc ]initWithString :@"Demon "];
常用可傳遞變量
NSString *str3 = [[NSString alloc ] initWithFomat :@"Demon 's age is %d",25];
C語言字元串轉換OC字元串,注意字元串前面沒‘@’
NSString *str4 = [[NSString alloc ] initWithUTF8String:"Demon"];
OC字元串轉換成C字元串
const char *s = [str4 UTF8String];
從檔案讀取字元串,第一個參數是路徑(絕對路徑)第二個參數是編碼(有中文有NSUTF8String就可以),第三個參數設定為空即可
NSString *str5 = [[NSString alloc ] initWithContainsOfFile:@"/Users/Demon/Desktop /xxx.xxx";
從資源路徑讀取字元串:
URL:資源路徑
協定頭://路徑
檔案file://
網頁http://
伺服器:ftp ://
NSURL *u = [[NSURL alloc] initWithString:@"file:///Users/Demon/Desktop/xxx.xxx"] // 這裡注意是三個斜杠,前兩個是協定頭,後面是路徑
NSString *str6 = [[NSString alloc] initWithContentsOfURL:/Users/Demon/Desktop/xxx.xxx encoding:NSUTF8StringEncoding error:nil];
類方法:
上面的這些方法都有對應的類方法,使用類方法更友善,節省時間!
NSString *str3 = [[NSString alloc] initWithFomat:@"Demon's age is %d", 25]; // 對象方法
NSString *s3 = [NSString stringWithFomat:@""]; // 類方法
注意:類方法一類名開頭
NSURL *u = [[NSURL alloc] initWithString:@""] // 對象方法
[NSURL URLWithString:@""]; // 類方法
[NSURL fileURLWithPath:@""]; // 這種方法已經表明了是哪一種資源,是以可以直接跟路徑
将字元串寫入檔案
[@"Demon" writeToFile:@"/Users/Demon/Desktop/xxx.xxx" atomically:YES encoding:NSUTF8StringEncoding error:nil];
其中第一個參數是路徑 ,第二個參數寫YES就可以(原子性操作,表示中途失敗就不建立檔案),後面兩個跟讀入一樣
另外還有一個writeToURL,跟上面參數一樣,先建立URL再調用方法即可
4,NSMutableString的使用方法
NSMutableString是NSString的子類,NSMutableString包含了父類NSString所有用法
特有用法:
拼接字元串
NSMutableString *s1 = [[NSMutableString alloc ] initWithFomat :@"Demon 's age is %d",25];
[s1 appendString:@"1,2,3"];
删除字元串
方法一:是把Demon‘s删除了(不常用,如果字元串改了他也得改)
[s1 deleteCharactersInRange:NSMakeRange(0,1)];
方法二:這種組合方式比較常用,無論字元串如何改變,都能删除指定的内容
NSRange range = [s1 rangeOfString:@"Demon's"];
[s1 deleteCharactersInRange: range ];
NSString和NSMutableString的差別:
1>NSString不可變:裡面内容一旦初始化就不能更改,NSMutableString可以改變内容
2>NSString也有一個方法拼接的字元串,但是傳回的将不是原來的字元串,原字元串不變
NSString *str1 = @"Demon";
NSString *str7 = [str1 stringByAppendingString:@"1,2,3"];