Как преобразовать строку в массив в цель C? - PullRequest
7 голосов
/ 10 октября 2011

Как преобразовать строку в массив в целевой C., т.е. у меня есть строка,

NSString *str = @"Hi,How r u";

Это должно быть преобразовано в массив * NSMutableArray arr , где в

arr [0] = "Hi"
arr [1] = ","
arr [2] = "How"
arr [3] = "r"
arr [4] = "u"

Может кто-нибудь помочь с идеей взломать эту вещь.

Ответы [ 5 ]

15 голосов
/ 10 октября 2011
NSString *str=@"Hi,How r u"; 
NSArray *arr = [str componentsSeparatedByString:@","];
NSString *strSecond = [arr objectAtIndex:1];

NSMutableArray *arrSecond = [strSecond componentsSeparatedByString:@" "];
NSString *strHow = [arr objectAtIndex:0];
NSString *strAre = [arr objectAtIndex:1];
NSString *strYou = [arr objectAtIndex:2];

[arr removeObjectAtIndex:1];
[arr addObject:@","];
[arr addObject:strHow];
[arr addObject:strAre];
[arr addObject:strYou];  

arr - требуемый массив.

6 голосов
/ 10 октября 2011

Полагаю, эта ссылка поможет вам.

NSString *str = @"Hi,How r u";
NSArray *listItems = [str componentsSeparatedByString:@","];
3 голосов
/ 10 октября 2011

Ты должен сделать,

NSString *str = @"Hi,How r u";
NSArray *arr = [str componentsSeparatedByString:@" "];

И для того, чтобы это работало так, как вы ожидаете, должно быть white-space между "Hi," и "How". Ваша строка должна выглядеть как @"Hi, How r u".

1 голос
/ 10 октября 2011

попробуйте

NSString *str2=@"Hi,How r u"; 
    NSMutableArray *arary = [[NSMutableArray alloc] initWithArray:[str2 componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@", "]]];
    NSLog(@"%@",arary);

если хотите, как объект

NSString *str2=@"Hi,How r u";
    str2 = [str2 stringByReplacingOccurrencesOfString:@"," withString:@" , "];
    NSMutableArray *arary = [[NSMutableArray alloc] initWithArray:[str2 componentsSeparatedByString:@" "]];
    NSLog(@"%@",arary);
0 голосов
/ 10 октября 2011

Вы можете использовать метод NSString componentsSeparatedByString. Взгляните на ссылку здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...