2011-09-19 27 views
6

Tôi cần phải phân tích cú pháp NSString trong Mục tiêu-C .. tức là nếu chuỗi đường dẫn đầu vào là/a/b/c/d, tôi cần phân tích chuỗi đường dẫn để có được kết quả như/a/b/
Làm cách nào để đạt được điều đó? chuỗi đường dẫn đầu vào:/a/b/c/d chuỗi đường dẫn đầu ra dự kiến:/a/b/ Vui lòng giúp tôi.cách phân tích cú pháp NSString bằng cách xóa 2 thư mục trong đường dẫn trong Mục tiêu-C

Cảm ơn bạn. Suse.

Trả lời

16

Bạn có thể sử dụng stringByDeletingLastPathComponent hai lần:

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

Returns /a/b.

+0

Cảm ơn bạn rất nhiều – suse

+0

Cảm ơn bạn rất nhiều .. 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

Làm thế nào về:

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 
Các vấn đề liên quan