如何通过删除Objective-C中的路径中的2个文件夹来解析NSString

时间:2011-09-19 10:22:56

标签: objective-c parsing nsstring

我需要在Objective-C中解析NSString ..即如果输入路径字符串是/ a / b / c / d,我需要解析路径字符串以获得out / like / a / b /
我如何实现它? 输入路径字符串:/ a / b / c / d 预期输出路径字符串:/ a / b / 请帮帮我。

谢谢。 粟色。

3 个答案:

答案 0 :(得分:16)

您可以使用stringByDeletingLastPathComponent两次:

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

返回/a/b

答案 1 :(得分:1)

怎么样:

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

答案 2 :(得分:0)

NSString *path = @"/a/b/c/d";


int howManyFoldersNeedsToBeDeleded = 2;

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


     path = [path stringByDeletingLastPathComponent];




}



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