Quando ho NSString
con /Users/user/Projects/thefile.ext
voglio estrarre thefile
con i metodi Objective-C.
Qual è il modo più semplice per farlo?
Quando ho NSString
con /Users/user/Projects/thefile.ext
voglio estrarre thefile
con i metodi Objective-C.
Qual è il modo più semplice per farlo?
Risposte:
Tratto dal riferimento NSString , puoi usare:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
La lastPathComponent
chiamata tornerà thefile.ext
e stringByDeletingPathExtension
rimuoverà 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