IOS NSString 用法詳解
阿新 • • 發佈:2019-01-06
//NSString 操作均不改變自身值 //構建字串 NSString *szTmp = @"A string"; //直接賦值 szTmp = nil; int n = 5; NSString *szMyString = [NSString stringWithFormat:@"The number is %d",n]; //The number is 5 [szMyString stringByAppendingFormat:@"%d",22]; //附加字串返回值:The number is 522 //但是szMyString本身並沒有改變,其值依然:The number is 5 [cpp] view plaincopy //長度與索引字元 NSLog(@"%d",szMyString.length); //字串長度:15 NSLog(@"%c",[szMyString characterAtIndex:2]); //返回字元:e [cpp] view plaincopy //與c字串相互轉換 printf("%s\n",[szMyString UTF8String]); //轉為__strong const char * const char *szTmp1 = [szMyString cStringUsingEncoding:NSUTF8StringEncoding]; printf("%s\n",szTmp1); //轉為__strong const char * NSLog(@"%@",[NSString stringWithCString:szTmp1 encoding:NSUTF8StringEncoding]); //轉為nsstring [cpp] view plaincopy //字串寫檔案 NSError *error; NSString *szPath = [NSHomeDirectory() //應用程式沙盒路徑 stringByAppendingPathComponent:@"Documents/testFile.txt"]; //附加路徑地址 if (![szMyString writeToFile:szPath atomically:YES //atomically:是否是原子訪問檔案的 encoding:NSUTF8StringEncoding error:&error]) { //寫入成功返回yes 否則no NSLog(@"Error writing to file :%@",[error localizedDescription]); //輸出錯誤描述 return 1; } NSLog(@"File write success"); [cpp] view plaincopy //檔案讀字串 NSString *szInString = [NSString stringWithContentsOfFile:szPath //讀取檔案資訊 encoding:NSUTF8StringEncoding error:&error]; if (!szInString) { //失敗 } NSLog(@"%@",szInString); //成功 [cpp] view plaincopy //字串轉為陣列 NSArray *arrayWord = [szMyString componentsSeparatedByString:@" "]; //有空格的拆分為單詞儲存 NSLog(@"%@",arrayWord); [cpp] view plaincopy //索引子串 NSString *szSub1 = [szMyString substringToIndex:3]; //0-2,前3個:The NSLog(@"%@",szSub1); NSString *szSub2 = [szMyString substringFromIndex:4]; //4-尾,去掉前4個:number is 5 NSLog(@"%@",szSub2); [cpp] view plaincopy //範圍索引 NSRange range; range.location = 4; //從4開始 range.length = 6; //6個字元 NSString *szSub3 = [szMyString substringWithRange:range]; //number NSLog(@"%@",szSub3); [cpp] view plaincopy //搜尋與替換 NSRange rangeSearch = [szMyString rangeOfString:@"is 5"]; //搜尋 if (rangeSearch.location != NSNotFound) { //搜尋不到是 NSNotFound //成功:rangeSearch.location;//位置 rangeSearch.length;//長度 } NSLog(@"%@",[szMyString stringByReplacingCharactersInRange:rangeSearch //用位置匹配替換 withString:@"isn't 10"]); NSString *szReplaced = [szMyString stringByReplacingOccurrencesOfString:@" " withString:@"*"]; //匹配字串替換 NSLog(@"%@",szReplaced); [cpp] view plaincopy //改變大小寫 NSLog(@"%@",[szMyString uppercaseString]); //大寫 NSLog(@"%@",[szMyString lowercaseString]); //小寫 NSLog(@"%@",[szMyString capitalizedString]); //首字母大寫 [cpp] view plaincopy //比較字串 NSString *sz1 = @"Hello World!"; NSString *sz2 = @"Hello Mom!"; if ([sz1 isEqualToString:sz2]) {/*相等*/} if ([sz1 hasPrefix:@"Hello"]) {NSLog(@"前部分相等");} //從頭開始比較 if ([sz1 hasSuffix:@"d!"]) {NSLog(@"後部分相等");} //從尾部比較 [cpp] view plaincopy //字串轉換數字 NSString *szNumber = @"3.14"; [szNumber intValue]; [szNumber boolValue]; [szNumber floatValue]; [szNumber doubleValue]; [cpp] view plaincopy //可變字串 NSMutableString *szMuMyString = [NSMutableString stringWithString:@"Hello"]; [szMuMyString appendFormat:@"World"]; //字串,改變自身 [szMuMyString uppercaseString]; NSLog(@"%@",szMuMyString);