標籤:
Objective-C 中核心處理字串的類是 NSString 與 NSMutableString ,這兩個類最大的區別就是NSString 建立賦值以後該字串的內容與長度不能在動態更改,除非重新給這個字串賦值。而NSMutableString 建立賦值以後可以動態在該字串上更改內容與長度。
建立NSString字串:NSString 與 char* 最大的區別就是 NSString是一個objective對象,而char* 是一個位元組數組。@+ " 字串 " 這個符號為objective-c NSString 字串常量的標準用法,char* 建立的時候 無需添加@
int main(){ // 建立字串 NSString *str = @"jack"; NSString *s1 = [[NSString alloc] initWithFormat:@"age = %d" ,10]; // c字串轉oc字串 NSString *s2 = [[NSString alloc] initWithUTF8String:"jack"]; // oc 轉 c const char *c1 = [s2 UTF8String]; NSLog(@"%s", c1); // NSUTF8StringEncoding 用到中文可以用這個 // 傳進來檔案路徑可以查看檔案 NSString *s3 = [[NSString alloc] initWithContentsOfFile:"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil]; /*URL :資源路徑 協議頭://路徑 file:// ftp:// http://www.baidu.com */
// 在 iOS 程式訪問 HTTP 資源時需要對 URL 進行 Encode
// NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];
NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
NSString *s4 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSLog(@"s4=\n%@", s4); return 0;}
NSString :不可變字串
NSMutableString :可變字串
int main(){ // 建立字串 NSMutableString *s = [NSMutableString stringWithFormat:@"my age is 23"]; // 拼接內容到s的後面 [s appendString:@" 3 21"]; // 擷取is的範圍 NSRange range = [s rangeOfString:@"is"]; [s deleteCharactersInRange:range]; NSString *s1 = [NSString stringWithFormat:@"age is 23"]; NSString *s3 = [s1 stringByAppendingString:@" 3 21"]; NSLog(@"s=%@, s1=%@", s, s1); return 0;}
字串中刪除元素
stringWithString 方法:用於建立字串初始化賦值rangeOfString方法:傳入字串返回一個在該字串中的範圍 也可以寫 NSMakeRange(0, 3) 意思是範圍在字串0位到第3位deleteCharactersInRange:刪除字串 參數為Range 就是刪除的範圍。
int main(){ //建立字串 NSMutableString *str = [NSMutableString stringWithString:@"haha 你好!!"]; //刪除字串中含"haha"的字元 [str deleteCharactersInRange: [str rangeOfString: @"haha"]]; NSLog(@"str = %@",str); return 0; }
Objective-C( Foundation架構 一 字串)