Поиск массива подстрок в строке - PullRequest
0 голосов
/ 28 декабря 2011

Я хочу проверить, содержит ли строка какую-либо из подстрок, которые я помещаю в массив.По сути, я хочу искать по расширениям файла, и если файл является «образом», я хочу, чтобы определенный код выполнялся.Единственный способ классифицировать файл как «изображение» без загрузки файла - это использовать подстроку в строковом методе.Пока это мой код:

NSString *last5Chars = [folderName substringFromIndex: [folderName length] - 5];

         NSRange textRangepdf;
         textRangepdf =[last5Chars rangeOfString:@"pdf"];

         if(textRangepdf.location != NSNotFound)
          {
         [self.itemType addObject:@"PDF.png"];
          }

Можно ли сделать это, где я могу проверить, содержит ли last5Chars @ "jpg" или @ "gif" из @ "png" и т. Д ... ??Спасибо за помощь!

Ответы [ 3 ]

1 голос
/ 28 декабря 2011
NSString *fileName;
NSArray *imgExtArray; // put your file extensions in here
BOOL isImage = [imgExtArray containsObject:[fileName pathExtension]];
0 голосов
/ 28 декабря 2011

Вместо того, чтобы возиться с диапазонами и суффиксами, NSString имеет метод, который обрабатывает NSString как путь и возвращает расширение, которое называется pathExtension.

Посмотрите документацию NSString

Получив расширение, вы можете проверить его на соответствие любым строкам.

0 голосов
/ 28 декабря 2011
[folderName hasSuffix:@".jpg"] || [folderName hasSuffix:@".gif"]

очевидно, вы можете поместить его в цикл, если у вас есть целый массив.

...