Kiedy mam NSStringze /Users/user/Projects/thefile.extchcę wyodrębnić thefilemetodami Objective-C.
Jak najłatwiej to zrobić?
Kiedy mam NSStringze /Users/user/Projects/thefile.extchcę wyodrębnić thefilemetodami Objective-C.
Jak najłatwiej to zrobić?
Odpowiedzi:
Na podstawie odwołania do NSString możesz użyć:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
lastPathComponentRozmowa powróci thefile.exti stringByDeletingPathExtensionbę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