Objective-C: Извлечь имя файла из строки пути
Когда у меня есть NSString
с /Users/user/Projects/thefile.ext
, я хочу извлечь thefile
с помощью методов Objective-C.
Каков самый простой способ сделать это?
Ответы
Ответ 1
Взято из ссылка NSString, вы можете использовать:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
Вызов lastPathComponent
вернет thefile.ext
, а stringByDeletingPathExtension
удалит расширение с конца.
Ответ 2
Если вы показываете имя пользователя для чтения, вы не хотите использовать lastPathComponent
. Вместо этого передайте полный путь к методу NSFileManager displayNameAtPath:
. Это в основном делает то же самое, только он правильно локализует имя файла и удаляет расширение на основе пользовательских настроек.
Ответ 3
рискуя стать летними и не связанными с темой - и несмотря на превосходное понимание @Marc, в Swift это выглядит так:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent