Quand j'ai NSString
avec /Users/user/Projects/thefile.ext
je veux extraire thefile
avec des méthodes Objective-C.
Quelle est la façon la plus simple de procéder?
Quand j'ai NSString
avec /Users/user/Projects/thefile.ext
je veux extraire thefile
avec des méthodes Objective-C.
Quelle est la façon la plus simple de procéder?
Réponses:
Tiré de la référence NSString , vous pouvez utiliser:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
L' lastPathComponent
appel reviendra thefile.ext
et stringByDeletingPathExtension
supprimera le suffixe d'extension de la fin.
lastPathComponent
. Je vous remercie!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension]
(utilisez le gestionnaire de fichiers que vous voulez). Cela garantit que le nom de fichier est correctement localisé et que l'extension a été supprimée.
NSString *myExtension = [myString pathExtension]
Si vous affichez un nom de fichier lisible par l' utilisateur, vous ne pas souhaitez utiliser lastPathComponent
. Au lieu de cela, passez le chemin d'accès complet à la displayNameAtPath:
méthode NSFileManager . Cela fait essentiellement la même chose, mais il localise correctement le nom de fichier et supprime l'extension en fonction des préférences de l'utilisateur.
Au risque d'être des années en retard et hors sujet - et malgré l'excellente perspicacité de @ Marc, dans Swift, cela ressemble à:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent