Objective-C文法之字串那些事
雨松MOMO原創文章如轉載,請註明:轉載至我的獨立網域名稱部落格雨松MOMO程式研究院,原文地址:http://www.xuanyusong.com/archives/388
NSMutableString 類 繼承NSString類,那麼NSString 提供的方法在NSMutableString中基本都可以使用,NSMutableString好比一個字串鏈表,它可以任意的動態在字串中添加字串 刪除字串 指定位置插入字串,使用它來操作字串會更加靈活。
1.字串尾部添加
使用alloc在記憶體中建立字串對象後邊可以動態操作這個字串,修改與添加等。
appendstring 方法:向字串尾部添加一個字串。
appendFormat方法:向字串尾部添加多個類型的字串,可以添加任意數量與類型的字串。
- (void)viewDidLoad{ [super viewDidLoad]; NSMutableString * str = [[NSMutableString alloc] init]; //添加普通的字串 [str appendString:@"aaa"]; //添加字串 整型 字元型 [str appendFormat:@"我的名字:%@ 我的年齡:%d 我的郵箱:%s",@"雨松MOMO", 25,"xuanyusong@gmail.com"]; NSLog(@"str = %@",str); }
2.字串中刪除元素
stringWithString 方法:用於建立字串初始化賦值rangeOfString方法:傳入字串返回一個在該字串中的範圍 也可以寫 NSMakeRange(0, 3) 意思是範圍在字串0位到第3位deleteCharactersInRange:刪除字串 參數為Range 就是刪除的範圍。
- (void)viewDidLoad{ [super viewDidLoad]; //建立字串 NSMutableString *str = [NSMutableString stringWithString:@"雨松MOMO喜歡哇哢哢~"]; //刪除字串中含"雨松"的字元 [str deleteCharactersInRange: [str rangeOfString: @"雨松"]]; NSLog(@"str = %@",str); }
3.字串插入
stringWithString 方法:用於建立字串初始化賦值
insertString方法:第一個參數 插入的字串對象, 第二個參數 插入的位置。
- (void)viewDidLoad{ [super viewDidLoad]; //建立字串 NSMutableString *str = [NSMutableString stringWithString:@"雨松MOMO喜歡哇哢哢~"]; //在str第10位插入字串 [str insertString:@"與小可愛" atIndex:10]; NSLog(@"str = %@",str); }
4.字串拷貝
- (void)viewDidLoad{ [super viewDidLoad]; //建立字串 NSMutableString *str1 = [NSMutableString stringWithString: @"字串1"]; NSMutableString *str2; //字串賦值 str2 = str1; [str2 appendString: @" 和字串2"]; NSLog (@"str1 = %@", str1); NSLog (@"str2 = %@", str2); }
為什麼給str2添加資料後 str1的資料也改變了?這就是指標的魅力所在,因為我們操作的是指標,str2 = str1 意思是兩個指標同時指向一塊記憶體,那麼str2指向的記憶體內容改變以後str1當然跟著改變了。
5.字串與指定類型轉換
如果轉換的參數非法的話不會拋出異常,好比用中文去轉整型。不會報錯 但是轉換結果為 0 ,預設值。
- (void)viewDidLoad{ [super viewDidLoad]; //字串轉整型 NSString *str0 = @"1121"; //NSString *str0 = @"中國"; //把字串強轉成整型 int i = [str0 intValue]; NSLog (@"轉換後:%i", i); //字串轉interger NSString *str1 = @"1985"; // NSString *str1 = @"中國"; //把字串強轉成interger NSInteger ii = [str1 integerValue]; NSLog (@"轉換後:%i", ii); //字串轉double NSString *str2 = @"3.145926"; //NSString *str2 = @"中國"; //把字串強轉成double double d = [str2 doubleValue]; NSLog (@"轉換後:%f", d); //字串轉float NSString *str3 = @"3.145926"; //NSString *str3 = @"中國"; //把字串強轉成float double f = [str3 floatValue]; NSLog (@"轉換後:%f", f); }
正常的轉換結果
傳入非法參數 不正常的結果
6.字串搜尋與替換 比較 等等 見上一章內容
Objective-C文法之NSString字串那些事(三)
歡迎各位 大的 小的 老的 少的 男的 女的 大家一起交流IPHONE 的開發~~ 我在這裡等著噢~哇哢哢