2011-10-13 90 views

回答

2

您可以使用rangeOfString和substringFromIndex。

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

如果您的路径以@“/”开头,这将工作。

0

第一种方法:

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

第二种方法:

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

我需要切断属性的所有路径。我不需要分解路径 – User1234

+0

那么为什么你不问这个问题? – Nekto

+0

什么是最好的方法来切断和分开存储路径?这不够清楚吗?看看这个问题。但是,无论如何感谢 – User1234

2

使用rangeOfString:@"/"来查找第一个正斜杠的位置,然后substringFromIndex:来提取它。

+0

谢谢。有用 ! – User1234

0

我不完全确定你是问如何从参数串获得路径,或者如何获得路径的一部分,所以我将概述我将如何在单独的步骤下面:

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

显然,这依赖于路径是最终参数的值,但是可以使用不同的方法从找到产生args阵列中的路径。

有关NSString方法的详细信息,请参见hereNSArray方法here

+0

我需要从参数中获取路径。你的第一个解很好。但是,如果文件夹名称中包含@“:”符号,它将不起作用 – User1234

+0

@ User1234如果你的路径总是绝对的,并且你永远不会有任何包含斜杠的属性,你可以通过从第一个斜杠获得'NSRange'。这对你有用吗? – Edd

相关问题