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

时间:2009-07-08 15:51:28

标签: objective-c cocoa

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

最简单的方法是什么?

3 个答案:

答案 0 :(得分:597)

取自the NSString reference,您可以使用:

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

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

答案 1 :(得分:37)

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

答案 2 :(得分:3)

冒着多年迟到和偏离主题的风险 - 尽管@ Marc的出色见解,在Swift看起来像:

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