2011-12-28 45 views
0

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

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”等等?感谢您的帮助!

+0

为什么最后五个字符? – Abizern 2011-12-28 19:45:35

+0

基本上得到文件的扩展名。我不想只获得最后3个,因为有些文件可能有更长的扩展名。 5只是要谨慎。 – Prajoth 2011-12-29 03:59:55

回答

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

谢谢!!有用! – Prajoth 2011-12-29 12:00:09

0
[folderName hasSuffix:@".jpg"] || [folderName hasSuffix:@".gif"] 

显然你可以把它放到一个循环中,如果你有一个完整的数组。

0

NSString有一个将NSString作为路径并返回一个扩展名的方法,它被称为pathExtension,而不是混淆范围和后缀。

已经在NSString Documentation

看看一旦你,你可以检查它,你想要的任何字符串的扩展。