Kiedy mam NSString
ze /Users/user/Projects/thefile.ext
chcę wyodrębnić thefile
metodami Objective-C.
Jak najłatwiej to zrobić?
Kiedy mam NSString
ze /Users/user/Projects/thefile.ext
chcę wyodrębnić thefile
metodami Objective-C.
Jak najłatwiej to zrobić?
Odpowiedzi:
Na podstawie odwołania do NSString możesz użyć:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
lastPathComponent
Rozmowa powróci thefile.ext
i stringByDeletingPathExtension
będzie usunąć przyrostek przedłużacz od końca.
lastPathComponent
. Dziękuję Ci!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension]
(użyj dowolnego menedżera plików, jaki chcesz). Zapewnia to poprawną lokalizację nazwy pliku i usunięcie rozszerzenia.
NSString *myExtension = [myString pathExtension]
Jeśli wyświetlasz nazwę pliku czytelną dla użytkownika, nie chcesz jej używać lastPathComponent
. Zamiast tego przekaż pełną ścieżkę do displayNameAtPath:
metody NSFileManager . Zasadniczo robi to samo, tylko poprawnie lokalizuje nazwę pliku i usuwa rozszerzenie na podstawie preferencji użytkownika.
W ryzyku spóźnienia się o wiele lat i bez tematu - i pomimo doskonałej wiedzy @ Marc, w Swift wygląda to tak:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent