Вам нужно свернуть свой метод, чтобы удалить ненужные файлы.
Это не легко со встроенными инструментами, но вы можете использовать RegExKit Lite , чтобы помочь найти элементы в возвращаемом массиве, который вас интересует. Согласно примечаниям к выпуску, это должно работать в приложения Cocoa и Cocoa-Touch.
Вот демонстрационный код, который я написал примерно за 10 минут. Я изменил <и> на ", потому что они не показывались внутри предварительного блока, но он все еще работает с кавычками. Может быть, кто-то, кто знает больше о форматировании кода здесь в StackOverflow, исправит это (Крис?).
Это шаблонный проект утилиты командной строки "Foundation Tool". Если я запустил мой git-демон на моем домашнем сервере, я отредактирую этот пост, чтобы добавить URL-адрес проекта.
#import "Foundation/Foundation.h"
#import "RegexKit/RegexKit.h"
@interface MTFileMatcher : NSObject
{
}
- (void)getFilesMatchingRegEx:(NSString*)inRegex forPath:(NSString*)inPath;
@end
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
MTFileMatcher* matcher = [[[MTFileMatcher alloc] init] autorelease];
[matcher getFilesMatchingRegEx:@"^.+\\.[Jj][Pp][Ee]?[Gg]$" forPath:[@"~/Pictures" stringByExpandingTildeInPath]];
[pool drain];
return 0;
}
@implementation MTFileMatcher
- (void)getFilesMatchingRegEx:(NSString*)inRegex forPath:(NSString*)inPath;
{
NSArray* filesAtPath = [[[NSFileManager defaultManager] directoryContentsAtPath:inPath] arrayByMatchingObjectsWithRegex:inRegex];
NSEnumerator* itr = [filesAtPath objectEnumerator];
NSString* obj;
while (obj = [itr nextObject])
{
NSLog(obj);
}
}
@end