Коли я 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