NSString總結

NSString基礎的 api

NSString *str1 = @"BeiJing";
	NSString *str2 = @"beijing";
	
	//所有轉爲大寫
	NSLog(@"%@",[str1 uppercaseString]);
	
	//所有轉爲小寫
	NSLog(@"%@",[str1 lowercaseString]);
	
	//首字母大寫
	NSLog(@"%@",[str1 capitalizedString]);
	
	//比較兩個字符串內容是否相同
	BOOL b =[str1 isEqualToString:str2];
	
	//兩個字符串內容比較
	//NSOrderedAscending    右邊 > 左邊
	//NSOrderedSame         內容相同
	//NSOrderedDescending   左邊 > 右邊
	NSComparisonResult result = [str1 compare:str2];
	if (result == NSOrderedAscending) {
		NSLog(@"右邊 > 左邊");
	}else if(result == NSOrderedSame){
		NSLog(@"內容相同");
	}else if (result == NSOrderedDescending){
		NSLog(@"左邊 > 右邊");
	}
	
	//忽略大小寫進行比較,返回值與compare同樣
	result = [str1 caseInsensitiveCompare:str2];
	if (result == NSOrderedAscending) {
		NSLog(@"右邊 > 左邊");
	}else if(result == NSOrderedSame){
		NSLog(@"內容相同");
	}else if (result == NSOrderedDescending){
		NSLog(@"左邊 > 右邊");
	}
	
	//判斷字符串是否以指定字符串開頭
	[str1 hasPrefix:@"aaa"];
	//判斷字符串是否以指定字符串結尾
	[str1 hasSuffix:@"aaa"];
	
	//判斷字符串是否包含指定字符串,返回位置和長度
	NSRange range = [@"123456" rangeOfString:@"456"];
	NSLog(@"%@", NSStringFromRange(range));
	
	//反向搜索
	range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch];
	NSLog(@"%@",NSStringFromRange(range));
	
	//指定範圍進行搜索
	range = NSMakeRange(0, 9);
	range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch range:range];
	NSLog(@"%@",NSStringFromRange(range));



二。 NSString的總結,不清楚的看SDK

NSString *str = @"123456789";
	NSLog(@"%@",[str substringFromIndex:3]);
	NSLog(@"%@",[str substringToIndex:6]);
	NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 3)]);



1.  用指定字符串分割字符串,返回一個數組

NSArray *array = [@"1,2,3,4,5,6" componentsSeparatedByString:@","];
	NSLog(@"%@",array);




三。NSString的path拼接與刪除 數組

1.將數組中的字符串組合成一個文件路徑 spa

NSMutableArray *components = [NSMutableArray array];
	[components addObject:@"Users"];
	[components addObject:@"CentralPerk"];
	[components addObject:@"Desktop"];
	NSString *path = [NSString pathWithComponents:components];
	NSLog(@"path = %@",path);  //path = Users/CentralPerk/Desktop



2.將一個路徑分割成一個數組:

NSArray *array1 = [path pathComponents];
	NSLog(@"路徑拼接成的array1 = %@",array1);
	/*
	 路徑拼接成的array1 = (
	 Users,
	 CentralPerk,
	 Desktop
	 )
	 */



3.  判斷是否爲絕對路徑(依據:是否以'/'開始):
path = @"/Users/CentralPerk/Desktop";
	NSString *path1 = @"Users/CentralPerk/Desktop";
	NSLog(@"判斷"@"/Users/CentralPerk/Desktop""否是絕對路徑%i",[path isAbsolutePath]);
	NSLog(@"判斷"@"Users/CentralPerk/Desktop""否是絕對路徑%i",[path1 isAbsolutePath]);
   // 判斷/Users/CentralPerk/Desktop否是絕對路徑1
   // 判斷Users/CentralPerk/Desktop否是絕對路徑0



4.獲取最後一個目錄: code

NSLog(@"獲取"@"/Users/CentralPerk/Desktop""最後一個目錄:%@",[path lastPathComponent]);
	// 獲取/Users/CentralPerk/Desktop最後一個目錄:Desktop



5.刪除最後一個目錄:

NSLog(@"刪除"@"/Users/CentralPerk/Desktop""最後一個目錄%@",[path stringByDeletingLastPathComponent]);
	// 刪除/Users/CentralPerk/Desktop最後一個目錄/Users/CentralPerk



6.拼接一個目錄:(與字符串拼接不一樣)
NSLog(@"拼接"@"/Users/CentralPerk/Desktop""最後一個目錄%@",[path stringByAppendingPathComponent:@"aaa"]);  // 拼接/Users/CentralPerk/Desktop最後一個目錄/Users/CentralPerk/Desktop/aaa
	NSLog(@"%@",[path stringByAppendingString:@"aaa"]);      //字符串拼接以後獲得的:/Users/CentralPerk/Desktopaaa
	NSLog(@"%@",[path stringByAppendingFormat:@"%@%@",@"b",@"c"]);  //字符串拼接以後獲得的:/Users/CentralPerk/Desktopbc



四。擴展名問題

獲取擴展名,不帶點,添加擴展名,不帶點,刪除擴展名,會連同點一塊兒刪除。 component

//獲取拓展名,不帶.
	NSString *str2 = @"Users/CentralPerk/Desktop/test.txt";
	NSLog(@" 獲取%@的擴展名%@",str2, [str2 pathExtension]);
	//添加拓展名,不須要帶.
	NSLog(@"給%@添加擴展名後獲得的:%@",str2, [str2 stringByAppendingPathExtension:@"mp3"]);
	//刪除拓展名,帶.一塊刪除
	NSLog(@"將%@的擴展名刪除後獲得的是:%@",str2,[str2 stringByDeletingPathExtension]);



輸出: 獲取 Users/CentralPerk/Desktop/test.txt 的擴展名 txt

Users/CentralPerk/Desktop/test.txt添加擴展名後獲得的:Users/CentralPerk/Desktop/test.txt.mp3 orm

Users/CentralPerk/Desktop/test.txt 的擴展名刪除後獲得的是: Users/CentralPerk/Desktop/test

五。字符串轉化問題 字符串

1.字符串轉爲 int double float string

 NSString *str3 = @"123"; NSLog(@"%i",[str3 intValue]); NSLog(@"%zi",[str3 length]); 



2.
取出指定位置的字符

 unichar c = [str3 characterAtIndex:2]; NSLog(@"%c",c);



3.
轉爲C語言的字符串

 const char *s = [str3 UTF8String]; NSLog(@"%s",s);
相關文章
相關標籤/搜索