2011-12-28 70 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

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