2011-01-18 1 views
1

У меня есть массив, и содержимое выглядеть примерно так:Распаковка небольшого сегмента NSString

"user/01453303276519456080/state/com.google/starred", 
    "user/01453303276519456080/state/com.google/broadcast", 
    "user/01453303276519456080/label/comics", 
    "user/01453303276519456080/label/General News", 
    "user/01453303276519456080/label/iPhone Related News", 
    "user/01453303276519456080/label/Programming", 
    "user/01453303276519456080/label/Sports", 
    "user/01453303276519456080/label/Tech News", 
    "user/01453303276519456080/label/Tutorials", 
    "user/01453303276519456080/state/com.blogger/blogger-following" 

Я хочу, чтобы извлечь только последние слова после того, как «/» (например, Общие новости, программирование, т.д.), уникальный идентификатор после пользователя/не будет постоянным.

Может кто-нибудь дать мне идею реализовать это?

Приветствие, ISEE

ответ

3

Вы можете использовать lastPathComponent API из NSString над каждой строкой массива.

+0

Спасибо, что API lastPathComponent решил его. Поскольку вы ответили на него до Свена, я отмечаю этот правильный ответ .... – iSee

2

Посмотрите на метод lastPathComponentNSString. Это должно дать вам именно то, что вы хотите. Если вам нужны и другие части, вы можете использовать метод componentsSeperatedByString: или использовать NSScanner.

+0

Если вам нужно разбить строку на/разделитель, см. Http://stackoverflow.com/questions/259956/nsstring-tokenize-in- объектив-с, который имеет хороший, быстрый пример. – phaxian

2

использование этого

for(int i=0;i<[yourArray count];i++) 
{ 
    NSMutableArray *tempArray=[[[NSMutableArray alloc] init] autorelease]; 
    string=[yourArray objectAtIndex:i];  
    tempArray=[[string componentsSeparatedByString:@"/"] mutableCopy]; 
    //use tempArray 

} 

Теперь tempArray имея все строки в различных индексов, за ними в соответствии с вами

+0

Спасибо за код snippet mate – iSee

+0

не нужно выделять изменяемый объект массива, а затем выбросить его. выделенный вами объект никогда не используется снова – user102008

+0

@ user102008, я создаю NSMutableArray, потому что вы не можете вызвать objectAtIndex и другие методы в NSArray. – Ishu

-1
for(int i=0;i<[myArray count];i++) 
{ 
    NSMutableArray *tempArray=[[[NSMutableArray alloc] init] autorelease]; 
    string=[myArray objectAtIndex:i]; 
    NSArray *arr=[string componentsSeparatedByString:@"/"]; 
    tempArray=[arr objectAtIndex:([arr count]-1)]; 

} 

Сейчас этот tempArray содержит последние компоненты, как и хотят

Надежда это поможет u!

+0

ничего себе, это ужасно. 'tempArray' объявляется как' NSMutableArray', но затем вы назначаете ему строку – user102008

Смежные вопросы