2011-09-19 11 views
6

में पथ में 2 फ़ोल्डरों को हटाकर एनएसएसटींग को कैसे पार्स करना है मुझे उद्देश्य-सी में एनएसएसटींग को पार्स करने की आवश्यकता है .. यानी यदि इनपुट पथ स्ट्रिंग/ए/बी/सी/डी है, तो मुझे पथ स्ट्रिंग को पार्स करने की आवश्यकता है की तरह/a/b/
कैसे मैं इसे प्राप्त करते हैं outout पाने के लिए? इनपुट पथ स्ट्रिंग:/एक/बी/सी/डी अपेक्षित आउटपुट पथ स्ट्रिंग:/a/b/ कृपया मेरी मदद करो बाहर।उद्देश्य-सी

धन्यवाद। सूज़।

उत्तर

16

आप stringByDeletingLastPathComponent दो बार इस्तेमाल कर सकते हैं:

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

रिटर्न /a/b

+0

बहुत बहुत – suse

+0

बहुत बहुत शुक्रिया .. upvoted धन्यवाद :) – Karun

0
NSString *path = @"https://stackoverflow.com/a/b/c/d"; 


int howManyFoldersNeedsToBeDeleded = 2; 

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


    path = [path stringByDeletingLastPathComponent]; 




} 



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

कैसे के बारे में:

NSString *path = @"https://stackoverflow.com/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