我有一个NSString,它被赋予一个字符串值。如何获取此NSString并在文件名及其扩展名之间插入@"-thumbnail"?
换句话说,我如何从:
NSString *fileName = @"myFile.png";至:
NSString *thumbnailName = [NSString someMagicFunction...]
NSLog(@"%@", thumbnailName); // Should Output "myFile-thumbnail.png"发布于 2010-12-29 11:21:56
为路径组件添加的NSString可能会派上用场,特别是:pathExtension和stringByDeletingPathExtension
编辑:另请参阅:stringByAppendingPathExtension: (由Dave DeLong指出)
NSString * ext = [fileName pathExtension];
NSString * baseName = [fileName stringByDeletingPathExtension];
NSString * thumbBase = [baseName stringByAppendingString:@"-thumbnail"];
NSString * thumbnailName = [thumbBase stringByAppendingPathExtension:ext];如果您确实希望magicFunction存在,您可以像这样向NSString添加一个category方法:
@interface NSString (MoreMagic)
- (NSString *)stringByAddingFileSuffix:(NSString *)suffix;
@end
@implementation NSString (MoreMagic)
- (NSString *)stringByAddingFileSuffix:(NSString *)suffix
{
NSString * extension = [self pathExtension];
NSString * baseName = [self stringByDeletingPathExtension];
NSString * thumbBase = [baseName stringByAppendingString:suffix];
return [thumbBase stringByAppendingPathExtension:extension];
}
@end使用方法如下:
NSString * thumbnailName = [fileName stringByAddingFileSuffix:@"-thumbnail"];发布于 2010-12-29 12:41:38
如果您确定您的文件名,您也可以简单地执行以下操作:
[NSString stringByReplacingOccurrencesOfString:@"." withString:@"-thumbnail."]但是路径处理的东西更干净(不管有多少“。您在名字中有),并且对于更棘手的情况很好地了解。
发布于 2010-12-29 19:17:20
为此,我们有一个开源类别:-[NSString ks_stringWithPathSuffix:]
https://stackoverflow.com/questions/4551214
复制相似问题