Objective-C:从pathstring中提取文件名

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

什么是最简单的方法来做到这一点?

从NSString引用采取,您可以使用:

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

lastPathComponent调用将返回thefile.ext ,并且stringByDeletingPathExtension将从最后删除扩展的足够stringByDeletingPathExtension

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

面临着风雨飘摇的问题 – 尽pipe@ Marc的卓越洞察力,在Swift中看起来像:

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