2015/06/14

フルパスからファイル名だけを置き換える

例えば /foo/bar/baz.txt のファイル名 bar.txt を a.html に置き換えて /foo/bar/a.html にする方法。

NSString の stringByDeletingLastPathComponent でフルパスからファイル名だけを消して、stringByAppendingPathComponent でファイル名を加える。

コード:


NSURL *url = [NSURL URLWithString:@"/foo/bar/baz.txt"];

NSString *filePath = [url path];

NSString *lastPath = [filePath stringByDeletingLastPathComponent];

NSString *newFilePath = [lastPath stringByAppendingPathComponent:@"a.html"];

NSLog(@"filePath   :%@", filePath);

NSLog(@"lastPath   :%@", lastPath);

NSLog(@"newFilePath:%@", newFilePath);

実行結果:


filePath   :/foo/bar/baz.txt

lastPath   :/foo/bar

newFilePath:/foo/bar/a.html