当我有NSString与/Users/user/Projects/thefile。ext我想用Objective-C方法提取文件。

最简单的方法是什么?


当前回答

从NSString引用中,你可以使用:

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

lastPathComponent调用将返回文件。stringbydeletingpatheextension将从末尾删除扩展后缀。

其他回答

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

从NSString引用中,你可以使用:

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

lastPathComponent调用将返回文件。stringbydeletingpatheextension将从末尾删除扩展后缀。

冒着迟到几年和跑题的风险——尽管@Marc的见解很好,但在Swift中,它看起来是这样的:

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