Когда я NSString
с /Users/user/Projects/thefile.ext
я хочу , чтобы извлечь thefile
с помощью методов Objective-C.
Какой самый простой способ сделать это?
objective-c
cocoa
Антон
источник
источник
Ответы:
Взято из ссылки NSString , вы можете использовать:
lastPathComponent
Вызов вернетсяthefile.ext
, иstringByDeletingPathExtension
будет удалить суффикс расширения с конца.источник
lastPathComponent
. Спасибо![[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension]
(используйте любой файловый менеджер, который вы хотите). Это гарантирует, что имя файла правильно локализовано, и что расширение было удалено.NSString *myExtension = [myString pathExtension]
Если вы отображаете читаемое пользователем имя файла, вы не хотите его использовать
lastPathComponent
. Вместо этого передайте полный путь к методу NSFileManagerdisplayNameAtPath:
. Это в основном делает то же самое, только корректно локализует имя файла и удаляет расширение в соответствии с предпочтениями пользователя.источник
С риском опоздания на годы и не по теме - и, несмотря на превосходную проницательность @ Marc, в Swift это выглядит так:
источник