Как разобрать NSString, удалив 2 папки в пути в Objective-C - PullRequest
6 голосов
/ 19 сентября 2011

Мне нужно проанализировать NSString в Objective-C. То есть, если строка входного пути - / a / b / c / d, мне нужно проанализировать строку пути, чтобы получить вывод как / a / b /
Как мне этого добиться? строка входного пути: / a / b / c / d ожидаемая строка выходного пути: / a / b / Пожалуйста, помогите мне.

Спасибо. Suse.

Ответы [ 3 ]

16 голосов
/ 19 сентября 2011

Вы можете использовать stringByDeletingLastPathComponent дважды:

NSString *pathStr = @"/a/b/c/d";
NSString *path = [[pathStr stringByDeletingLastPathComponent] stringByDeletingLastPathComponent];
NSLog(@"%@", path);

Возвращает /a/b.

1 голос
/ 20 декабря 2011

Как насчет:

NSString *path = @"/a/b/c/d";
NSArray *components = [path pathComponents]

NSLog(@"%@", [components objectAtIndex: 1]); // <- output a
NSLog(@"%@", [components objectAtIndex: 2]); // <- output b
NSLog(@"%@", [components lastObject]); // <- output d
0 голосов
/ 19 сентября 2011
NSString *path = @"/a/b/c/d";


int howManyFoldersNeedsToBeDeleded = 2;

for (int i = 1; i <= howManyFoldersNeedsToBeDeleded; i++) {


     path = [path stringByDeletingLastPathComponent];




}



NSLog(@"output : %@ \n\n",path);
...