2011-10-10 9 views
5

Cómo convertir cadena a matriz en C. objetivo es decir, tengo una cadena,¿Cómo convertir una cadena a una matriz en el objetivo C?

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

Esto se debe convertir en una matriz * NSMutableArray arr, donde en

arr [0 ] = "Hola"
arr [1] = ""
arr [2] = "¿Cómo"
arr [3] = "R"
arr [4] = "u"

¿Alguien puede ayudar con la idea de resolver esto?

Respuesta

11
NSString *[email protected]"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 es la matriz deseada.

0

Puede usar los componentes del método NSStringSeparatedByString. Eche un vistazo a la referencia here.

+0

necesito Coma (,) también para ser almacenado en la matriz. En este caso, no puedo usar componentsSeparatedByString. – shasha

5

Creo que this link te ayudará.

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

probar esto

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

si lo desea, como un objeto

NSString *[email protected]"Hi,How r u"; 
    str2 = [str2 stringByReplacingOccurrencesOfString:@"," withString:@" , "]; 
    NSMutableArray *arary = [[NSMutableArray alloc] initWithArray:[str2 componentsSeparatedByString:@" "]]; 
    NSLog(@"%@",arary); 
3

Tienes que hacer,

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

Y, para que esto funcione como se espera, debería haber una white-space entre "Hi," y "How". Su cadena debe verse como @"Hi, How r u".

Cuestiones relacionadas