Using Predicate to filter NSMutableArray
To filter NSMutableArray you could use Predicates in Objective-C. This will returns a new array which matches to the given predicate.
NSMutableArray *list =
[NSMutableArray arrayWithObjects:@"Mark", @"Balmer", @"Bill", @"Steve", nil];
NSPredicate *listBPredicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];
NSArray *namesBeginB = [list filteredArrayUsingPredicate:listBPredicate];
NSPredicate *listContainsPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] 'e'"];
NSArray *namesWithE = [list filterArrayUsingPredicate:listContainsPredicate];
listBPredicate will return names which starts in "b" and listContainsPredicate will return all the names which has letter "e".