Quando ho NSStringcon /Users/user/Projects/thefile.extvoglio estrarre thefilecon i metodi Objective-C.
Qual è il modo più semplice per farlo?
Quando ho NSStringcon /Users/user/Projects/thefile.extvoglio estrarre thefilecon i metodi Objective-C.
Qual è il modo più semplice per farlo?
Risposte:
Tratto dal riferimento NSString , puoi usare:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
La lastPathComponentchiamata tornerà thefile.exte stringByDeletingPathExtensionrimuoverà il suffisso dell'interno dalla fine.
lastPathComponent. Grazie!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension](usa qualunque file manager tu voglia). Ciò garantisce che il nome file sia localizzato correttamente e che l'estensione sia stata rimossa.
NSString *myExtension = [myString pathExtension]
Se stai visualizzando un nome file leggibile dall'utente, non vuoi usarlo lastPathComponent. Passare invece il percorso completo al displayNameAtPath:metodo NSFileManager . Questo sostanzialmente fa la stessa cosa, solo localizza correttamente il nome del file e rimuove l'estensione in base alle preferenze dell'utente.
A rischio di essere in ritardo di anni e fuori tema - e nonostante le eccellenti intuizioni di @ Marc, in Swift sembra che:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent