NSArray 過濾



  1. NSArray 過濾


  2. //找出一个数组   
  3.    NSFileManager *fileManager = [NSFileManager defaultManager];  
  4.     NSString *defaultPath = [[NSBundle mainBundle] resourcePath];  
  5.     NSError *error;  
  6.       
  7.     NSArray *directoryContents = [fileManager contentsOfDirectoryAtPath:defaultPath error:&error]  
  8. //匹配字符串,反回结果, SELF==表示数组中每一个元素  
  9. NSString *match = @"imagexyz-999.png";  
  10.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF == %@", match];  
  11.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  
  12.   
  13. //近似匹配字符串,类似SQL中的语法  
  14. NSString *match = @"imagexyz*.png";  
  15.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like %@", match];  
  16.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  
  17. //不区分大小写匹配  
  18. NSString *match = @"imagexyz*.png";  
  19.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like[cd] %@", match];  
  20.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  
  21. //正则匹配  
  22. NSString *match = @"imagexyz-//d{3}//.png";  
  23.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match];  
  24.     NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];  


NSArray *arrayFilter = [NSArray arrayWithObjects:@"abc1", @"abc2", nil];

NSArray *arrayContent = [NSArray arrayWithObjects:@"a1", @"abc1", @"abc4", @"abc2", nil];
NSPredicate *thePredicate = [NSPredicate predicateWithFormat:@"NOT (SELF in %@)", arrayFilter];
[arrayContent filterUsingPredicate:thePredicate];

留言

熱門文章