[NSString pathExtension]
Interprets the receiver as a path and returns the receiver’s extension, if any.
- (NSString *)pathExtension
Return Value
The receiver’s extension, if any (not including the extension divider).
Discussion of [NSString pathExtension]
The path extension is the portion of the last path component which follows the final period, if there is one. The following table illustrates the effect of
pathExtension
on a variety of different paths:
Receiver’s String Value
|
String Returned
|
---|---|
“/tmp/scratch.tiff ” | “tiff ” |
“.scratch.tiff ” | “tiff ” |
“/tmp/scratch ” | “” (an empty string) |
“/tmp/ ” | “” (an empty string) |
“/tmp/scratch..tiff ” | “tiff ” |
Note that this method only works with file paths (not, for example, string representations of URLs).
Example of [NSString pathExtension]
NSString* initPath = ...
NSString *newPath = [[NSString stringWithFormat:@"%@/%@",
[initPath stringByDeletingLastPathComponent], newFileName]
stringByAppendingPathExtension:[initPath pathExtension]];
Example of [NSString pathExtension]
NSString *pathToFile = @"/Path/To/File.txt";
NSString *oldFileName = [pathToFile lastPathComponent];
NSString *newFileName = [@"Document" stringByAppendingPathExtension:[oldFileName pathExtension];
NSString *newPathToFile = [pathToFile stringByDeletingLastPathComponent];
[newPathToFile stringByAppendingString:newFileName];
Example of [NSString pathExtension]
@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