从NSString切割路径的最佳方法是什么?

时间:2011-10-13 10:45:28

标签: objective-c macos cocoa

我是Cocoa的新手。我有NSString。看起来像这样

属性:OtherAttributte:/ users / user / etc ...

切断和存储该路径的最佳方法是什么?

感谢。

5 个答案:

答案 0 :(得分:2)

使用rangeOfString:@"/"查找第一个正斜杠的位置,然后substringFromIndex:将其解压缩。

答案 1 :(得分:2)

您可以使用rangeOfString和substringFromIndex。

NSString *path = @"Attribute: OtherAttributte: /users/user/etc";
NSRange x = [path rangeOfString:@"/"];
NSString *final = [path substringFromIndex:x.location];

如果你的路径以@“/”开头,那将会有效。

答案 2 :(得分:0)

第一种方法:

NSString *path = @"tmp/scratch";
NSArray *pathComponents = [path pathComponents];

第二种方法:

NSString *path = @" /users/user/etc";
NSArray *parts = [list componentsSeparatedByString:@"/"];

答案 3 :(得分:0)

我会使用componentsSeparatedByString:这是NSString的方法。

答案 4 :(得分:0)

我不确定你是否在询问如何从参数字符串中获取路径,或者如何获取路径的一部分,因此我将概述如何在以下单独的步骤中执行这两个操作:

NSString *args = @"attribute1: attribute2: /users/user/etc";
NSString *path = [[args componentsSeparatedByString:@":"] last];
NSArray *pathComponents = [path pathComponents];

显然,这依赖于路径是最终参数的值,但您可以使用不同的方法查找从args生成的数组中的路径。

可以找到NSString方法的详细信息hereNSArray方法here