Objective-C文法之NSMutableString字串的那些事兒

來源:互聯網
上載者:User

標籤:

  Objective-C 文法之字串那些事

 

 

         NSMutableString  繼承NSString類,那麼NSString 提供的方法在NSMutableString中基本都可以使用,NSMutableString好比一個字串鏈表,它可以任意的動態在字串中添加字串 刪除字串 指定位置插入字串,使用它來操作字串會更加靈活。

 

 

1.字串尾部添加

 

使用alloc在記憶體中建立字串對象後邊可以動態操作這個字串,修改與添加等。

appendstring 方法:向字串尾部添加一個字串。

appendFormat方法:向字串尾部添加多個類型的字串,可以添加任意數量與類型的字串。

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.       
  5.      
  6.     NSMutableString * str = [[NSMutableString alloc] init];  
  7.       
  8.     //添加普通的字串  
  9.     [str appendString:@"aaa"];  
  10.       
  11.     //添加字串 整型 字元型  
  12.     [str appendFormat:@"我的名字:%@ 我的年齡:%d 我的郵箱:%s",@"雨松MOMO", 25,"[email protected]"];  
  13.      
  14.     NSLog(@"str = %@",str);  
  15.       
  16. }  

 

 

 

 

 

2.字串中刪除元素

 

stringWithString 方法:用於建立字串初始化賦值

rangeOfString方法:傳入字串返回一個在該字串中的範圍 也可以寫 NSMakeRange(0, 3) 意思是範圍在字串0位到第3

deleteCharactersInRange:刪除字串 參數為Range 就是刪除的範圍。

 

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.       
  5.     //建立字串  
  6.     NSMutableString *str = [NSMutableString stringWithString:@"雨松MOMO喜歡哇哢哢~"];  
  7.       
  8.     //刪除字串中含"雨松"的字元  
  9.     [str deleteCharactersInRange: [str rangeOfString: @"雨松"]];      
  10.       
  11.     NSLog(@"str = %@",str);  
  12.       
  13. }  

 

 

 

 

3.字串插入

 

stringWithString 方法:用於建立字串初始化賦值

insertString方法:第一個參數 插入的字串對象, 第二個參數 插入的位置。

 

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.       
  5.     //建立字串  
  6.     NSMutableString *str = [NSMutableString stringWithString:@"雨松MOMO喜歡哇哢哢~"];  
  7.       
  8.     //在str第10位插入字串  
  9.     [str insertString:@"與小可愛" atIndex:10];  
  10.       
  11.     NSLog(@"str = %@",str);  
  12.       
  13. }  

 

 

 

 

 

4.字串拷貝

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.       
  5.     //建立字串  
  6.     NSMutableString *str1 = [NSMutableString stringWithString: @"字串1"];  
  7.     NSMutableString *str2;  
  8.       
  9.     //字串賦值  
  10.     str2 = str1;  
  11.       
  12.     [str2 appendString: @" 和字串2"];  
  13.       
  14.     NSLog (@"str1 = %@", str1);  
  15.       
  16.     NSLog (@"str2 = %@", str2);      
  17. }  

 

 

為什麼給str2添加資料後 str1的資料也改變了?這就是指標的魅力所在,因為我們操作的是指標,str2 = str1  意思是兩個指標同時指向一塊記憶體,那麼str2指向的記憶體內容改變以後str1當然跟著改變了。

 

 

 

 

 

 

5.字串與指定類型轉換

 

如果轉換的參數非法的話不會拋出異常,好比用中文去轉整型。不會報錯 但是轉換結果為 0  ,預設值。

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.       
  5.     //字串轉整型  
  6.     NSString *str0 = @"1121";  
  7.     //NSString *str0 = @"中國";  
  8.       
  9.     //把字串強轉成整型  
  10.     int i = [str0 intValue];  
  11.       
  12.     NSLog (@"轉換後:%i", i);   
  13.       
  14.     //字串轉interger  
  15.       NSString *str1 = @"1985";  
  16.     // NSString *str1 = @"中國";  
  17.       
  18.     //把字串強轉成interger  
  19.     NSInteger ii = [str1 integerValue];  
  20.       
  21.     NSLog (@"轉換後:%i", ii);   
  22.       
  23.       
  24.       
  25.     //字串轉double  
  26.     NSString *str2 = @"3.145926";  
  27.     //NSString *str2 = @"中國";  
  28.       
  29.     //把字串強轉成double  
  30.     double d = [str2 doubleValue];  
  31.       
  32.     NSLog (@"轉換後:%f", d);   
  33.       
  34.     //字串轉float  
  35.     NSString *str3 = @"3.145926";  
  36.      //NSString *str3 = @"中國";  
  37.     //把字串強轉成float  
  38.     double f = [str3 floatValue];  
  39.       
  40.     NSLog (@"轉換後:%f", f);   
  41.       
  42. }  

 

正常的轉換結果

 

 

 

 

傳入非法參數 不正常的結果

 

 

Objective-C文法之NSMutableString字串的那些事兒

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.