Quando eu tenho NSStringcom /Users/user/Projects/thefile.exteu quero extrair thefilecom métodos Objective-C.
Qual é a maneira mais fácil de fazer isso?
Quando eu tenho NSStringcom /Users/user/Projects/thefile.exteu quero extrair thefilecom 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 lastPathComponentchamada retornará thefile.exte stringByDeletingPathExtensionremoverá 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