我需要在Objective-C中解析NSString ..即如果输入路径字符串是/ a / b / c / d,我需要解析路径字符串以获得out / like / a / b /
我如何实现它?
输入路径字符串:/ a / b / c / d
预期输出路径字符串:/ a / b /
请帮帮我。
谢谢。 粟色。
答案 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);