Quando eu tenho NSString
com /Users/user/Projects/thefile.ext
eu quero extrair thefile
com métodos Objective-C.
Qual é a maneira mais fácil de fazer isso?
Quando eu tenho NSString
com /Users/user/Projects/thefile.ext
eu quero extrair thefile
com métodos Objective-C.
Qual é a maneira mais fácil de fazer isso?
Respostas:
Retirado da referência NSString , você pode usar:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
A lastPathComponent
chamada retornará thefile.ext
e stringByDeletingPathExtension
removerá o sufixo do ramal do final.
lastPathComponent
. Obrigado!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension]
(use o gerenciador de arquivos que desejar). Isso garante que o nome do arquivo seja localizado corretamente e que a extensão foi removida.
NSString *myExtension = [myString pathExtension]
Se você estiver exibindo um nome de arquivo legível pelo usuário, não deseja usá-lo lastPathComponent
. Em vez disso, passe o caminho completo para o displayNameAtPath:
método do NSFileManager . Isso basicamente faz a mesma coisa, apenas localiza o nome do arquivo corretamente e remove a extensão com base nas preferências do usuário.
Correndo o risco de ficar anos atrasado e fora do tópico - e não obstante a excelente visão de @ Marc, em Swift, parece:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent