iOS中NSArray的進階應用程式-過濾 .

來源:互聯網
上載者:User

 

c/c++開發人員一定很喜歡用boost庫,它有很強大的容器功能,在iOS開發中Array也相當於容器,功能也比較強大。NSArray可以用NSPredicate來過濾數組內容,NSPredicate有點像sql+正則表達,具體文法在此不談,自己google一堆。

 

不想打字了(我超級懶),用代碼說話:

view plaincopy to clipboardprint?
  1. //找出一個數組    
  2.    NSFileManager *fileManager = [NSFileManager defaultManager];  
  3.     NSString *defaultPath = [[NSBundle mainBundle] resourcePath];  
  4.     NSError *error;  
  5.       
  6.     NSArray *directoryContents = [fileManager contentsOfDirectoryAtPath:defaultPath error:&error]  
  7. //匹配字串,反回結果, SELF==表示數組中每一個元素
      
  8. NSString *match = @"imagexyz-999.png";  
  9.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF == %@", match];  
  10.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  
  11.   
  12. //近似匹配字串,類似SQL中的文法   
  13. NSString *match = @"imagexyz*.png";  
  14.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like %@", match];  
  15.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  
  16. //不區分大小寫匹配   
  17. NSString *match = @"imagexyz*.png";  
  18.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like[cd] %@", match];  
  19.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  
  20. //正則匹配   
  21. NSString *match = @"imagexyz-//d{3}//.png";  
  22.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match];  
  23.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.