7

How to convert string to array in objective C. i.e,I have a string,

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

This should be converted into an array *NSMutableArray arr , where in

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

Can anybody help with the idea to crack this thing.

5 Answers 5

15
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 is the desired array.

Sign up to request clarification or add additional context in comments.

Comments

7

I guess this link will help you.

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

Comments

3

You have to do,

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

And, in order for this to work as you expect, there should be a white-space between "Hi," and "How". Your string should look like @"Hi, How r u".

Comments

1

try this

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

if you want , as a object

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

Comments

0

You can use the NSString method componentsSeparatedByString. Take a look at the reference here.

1 Comment

i need Comma(,) also to be stored in the array. In this case i can't use componentsSeparatedByString.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.