Quand j'ai NSString
avec /Users/user/Projects/thefile.ext
, je veux extraire thefile
avec les méthodes Objective-C.
Quel est le moyen le plus simple de le faire?
Tiré de la référence NSString , vous pouvez utiliser:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
L'appel lastPathComponent
renverra thefile.ext
, et le stringByDeletingPathExtension
supprimera le suffixe d'extension de la fin.
Si vous affichez un nom de fichier lisible par l'utilisateur, vous ne voulez pas utiliser lastPathComponent
. À la place, transmettez le chemin complet à la méthode displayNameAtPath:
de NSFileManager. Cela fait fondamentalement la même chose, mais seulement il localise correctement le nom du fichier et supprime l'extension en fonction des préférences de l'utilisateur.
Au risque d'être en retard et hors sujet - et malgré l'excellente perspicacité de @ Marc, dans Swift, il se présente comme suit:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent