Wenn ich NSString
mit /Users/user/Projects/thefile.ext
habe, möchte ich thefile
mit Objective-C-Methoden extrahieren .
Was ist der einfachste Weg, das zu tun?
objective-c
cocoa
Anton
quelle
quelle
Antworten:
Aus der NSString-Referenz können Sie Folgendes verwenden:
Der
lastPathComponent
Anruf wird zurückgegebenthefile.ext
undstringByDeletingPathExtension
das Erweiterungssuffix wird am Ende entfernt.quelle
lastPathComponent
. Danke dir![[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension]
(Verwenden Sie den gewünschten Dateimanager). Dadurch wird sichergestellt, dass der Dateiname korrekt lokalisiert ist und die Erweiterung entfernt wurde.NSString *myExtension = [myString pathExtension]
Wenn Sie einen vom Benutzer lesbaren Dateinamen anzeigen, möchten Sie diesen nicht verwenden
lastPathComponent
. Übergeben Sie stattdessen den vollständigen Pfad an diedisplayNameAtPath:
Methode von NSFileManager . Dies macht im Grunde das Gleiche, nur dass der Dateiname korrekt lokalisiert und die Erweiterung basierend auf den Benutzereinstellungen entfernt wird.quelle
Auf die Gefahr hin, Jahre zu spät zu kommen und nicht zum Thema zu gehören - und trotz der hervorragenden Einsicht von @ Marc sieht es in Swift so aus:
quelle