如何在Objective-C中将字符串转换为数组?

7

如何在Objective-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
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 是所需的数组。


7
我想这个链接会对您有所帮助,它与在iPhone上将字符串拆分为子字符串有关。
NSString *str = @"Hi,How r u";
NSArray *listItems = [str componentsSeparatedByString:@","];

3

您需要做的是:

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

为了让这个功能按照您的预期工作,"Hi,""How"之间应该有一个white-space。您的字符串应该像这样:@"Hi, How r u"

1

试一下这个

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
你可以使用NSString的方法componentsSeparatedByString。请查看此处的参考链接

我需要逗号(,)也存储在数组中。在这种情况下,我不能使用componentsSeparatedByString。 - shasha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接