2013-07-31 64 views
0

是否有更有效的方法來剝離一串不需要的短語,在這種情況下是圖像擴展?我知道可以使用這裏使用的NSCharacterSet:Replace multiple characters in a string in Objective-C?但是整個短語更高效的stringByReplacingOccurrencesOfString方法

NSString *title = [imagePath lastPathComponent]; 
    title = [title stringByReplacingOccurrencesOfString:@".JPG" withString:@""]; 
    title = [title stringByReplacingOccurrencesOfString:@".JPEG" withString:@""]; 
    title = [title stringByReplacingOccurrencesOfString:@".PNG" withString:@""]; 
    title = [title stringByReplacingOccurrencesOfString:@".jpg" withString:@""]; 
    title = [title stringByReplacingOccurrencesOfString:@".jpeg" withString:@""]; 
    title = [title stringByReplacingOccurrencesOfString:@".png" withString:@""]; 

回答

2

有一個稱爲-stringByDeletingPathExtensionNSString的方法,它可以用來刪除擴展如下:

NSString *title = [imagePath lastPathComponent]; 
NSString *titleMinusExtension = [title stringByDeletingPathExtension]; 
0

假設你總是有一些給定的圖像文件名,沒有一些用戶可在文本框中輸入,我會簡單地使用文件名始終與一切後的鋼帶最後.

因此,在短期(不代碼,我不知道目標C,你應該添加一個標籤):

  • 查找字符串中的最後.
  • 剝去從找到的位置開始的所有東西。

這樣,你應該總是以一個乾淨的文件名結束,你不需要做多次查找,你不必擔心修改文件名的其他部分(讓我們假設有另一個.jpeg在那裏)。