关于cocoa:Objective-C:从路径字符串中提取文件名

Objective-C: Extract filename from path string

当我NSString /Users/user/Projects/thefile.ext时,我想用Objective-C方法提取thefile

最简单的方法是什么?


从NSString引用中获取,您可以使用:

1
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];

lastPathComponent调用将返回thefile.extstringByDeletingPathExtension将从末尾删除扩展名后缀。


如果您正在显示用户可读的文件名,则不希望使用lastPathComponent。 而是将完整路径传递给NSFileManager的displayNameAtPath:方法。 这基本上做了同样的事情,只是它正确地本地化文件名并根据用户的偏好删除扩展名。


可能会有多年的迟到和偏离主题 - 尽管@ Marc的出色见解,在Swift看起来像:

1
let basename = NSURL(string:"path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent