2011-10-13 107 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

相關問題