Quand j'ai NSStringavec /Users/user/Projects/thefile.extje veux extraire thefileavec des méthodes Objective-C.
Quelle est la façon la plus simple de procéder?
Quand j'ai NSStringavec /Users/user/Projects/thefile.extje veux extraire thefileavec 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' lastPathComponentappel reviendra thefile.extet stringByDeletingPathExtensionsupprimera 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