0

有没有更有效的方法来去除一串不受欢迎的短语,在这种情况下是图像扩展?我知道可以使用此处使用的 NSCharacterSet:Replace multiple characters in a string in Objective-C? 但对于整个短语

    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:@""];
4

2 回答 2

2

NSString中有一个方法-stringByDeletingPathExtension可以用来删除扩展,如下所示:

NSString *title = [imagePath lastPathComponent];
NSString *titleMinusExtension = [title stringByDeletingPathExtension];
于 2013-07-31T09:15:47.083 回答
0

假设您总是有一些给定的图像文件名,某些用户无法在文本框中输入任何内容,我会简单地使用文件名并始终删除最后一个文件名以及后面.的所有内容。

简而言之(没有代码,因为我不知道 Objective C,您应该将其添加为标签):

  • 找到.字符串中的最后一个。
  • 从找到的位置开始剥离所有内容。

这样,您应该始终得到一个干净的文件名,并且您不必进行多次查找,也不必担心修改文件名的其他部分(假设那里还有另一个部分.jpeg)。

于 2013-07-31T07:52:59.900 回答