在字符串中搜索子字符串数组

时间:2011-12-28 19:41:40

标签: iphone nsstring substring nsrange

我想检查一个字符串是否包含我放在数组中的任何子字符串。基本上,我想搜索文件的扩展名,如果文件是“图像”,我想要执行某些代码。我可以想到在不下载文件的情况下将文件分类为“图像”的唯一方法是通过字符串方法中的子字符串。到目前为止,这是我的代码:

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

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

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

是否可以这样做,我可以检查last5Chars是否包含@“jpg”或@“png”的@“gif”等等?谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

NSString *fileName;
NSArray *imgExtArray; // put your file extensions in here
BOOL isImage = [imgExtArray containsObject:[fileName pathExtension]];

答案 1 :(得分:0)

[folderName hasSuffix:@".jpg"] || [folderName hasSuffix:@".gif"]
很明显,如果你有一个完整的阵列,你可以把它放到一个循环中。

答案 2 :(得分:0)

NSString有一种方法可以将NSString视为路径并返回一个扩展名,而不是混淆范围和后缀,而是称为pathExtension

查看NSString Documentation

获得扩展程序后,您可以根据所需的字符串进行检查。