Коли я NSStringз /Users/user/Projects/thefile.extя хочу , щоб витягти thefileз допомогою методів Objective-C.
Який найпростіший спосіб зробити це?
Коли я NSStringз /Users/user/Projects/thefile.extя хочу , щоб витягти thefileз допомогою методів Objective-C.
Який найпростіший спосіб зробити це?
Відповіді:
Взяте з посилання на NSString , ви можете використовувати:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
lastPathComponentВиклик повернеться thefile.ext, і stringByDeletingPathExtensionбуде видалити суфікс розширення з кінця.
lastPathComponent. Дякую!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension](використовуйте будь-який файловий менеджер). Це гарантує коректну локалізацію імені файлу та розширення було видалено.
NSString *myExtension = [myString pathExtension]
Якщо відображається ім'я файлу, прочитане користувачем, його не потрібно використовувати lastPathComponent. Замість цього пройдіть повний шлях до displayNameAtPath:методу NSFileManager . В основному це робить те ж саме, тільки він правильно локалізує ім'я файлу та видаляє розширення, виходячи з уподобань користувача.
Загрожуючи запізнитись на роки і поза темою - і незважаючи на відмінну прозорливість @ Марка, у Swift це виглядає так:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent