转换NSMutableArray值

时间:2012-06-26 11:56:03

标签: iphone ios nsmutablearray

我一直在寻找这个,但找不到答案。

我有一个NSMutableArray,其值为who_1,what_2,where_3等。

我想把它变成谁,什么,哪里等。

我已经将整数的值作为变量,而_只是一个字符串。

我应该采取哪些步骤来改变所有这些数值?

4 个答案:

答案 0 :(得分:1)

 NSArray * arrB = [[NSArray alloc]initWithObjects:@"apple_a",@"ball_b",@"cat_c",@"doll_d",nil]; 

 NSMutableArray * arrA = [[NSMutableArray alloc]init];


for(NSString *strData in arrB)
    {
        NSArray *arr = [strData componentsSeparatedByString:@"_"];
        [arrA  addObject:[arr objectAtIndex:0]];
    } 

这将是你的输出

arrA:(
    apple,
    ball,
    cat,
    doll
)

答案 1 :(得分:0)

你需要为此应用逻辑,你无法找到棘手问题的答案:) 你需要运行一个循环。

用'_'

分隔字符串

循环

for(NSString *s in ary)
{
   NSArray *a = [s componentsSeparatedByString:@"_"];
   [anotherArray addObject:[a objectAtIndex:0]];
}

并更新您的数组..

答案 2 :(得分:0)

以下可能对您有帮助 -

NSRange range = [string rangeOfString:@"_"]; 
NSString *finalString = [originalString substringToIndex:range.location];

你可以循环使用。

或者你可以去componentSeperatedByStrings

答案 3 :(得分:0)

这可能对您有所帮助

NSMutableArray *tmpAry = [[NSMutableArray alloc] init];
for(NSString *_string in _StringAry)
{
    NSCharacterSet  *charSet  = [NSCharacterSet characterSetWithCharactersInString:@"_0123456789"];
    _string =  [[_string componentsSeparatedByCharactersInSet:charSet] componentsJoinedByString:@""];
    [tmpAry addObject: [[_string copy] autorelease]];
}
NSLog(@"%@", tmpAry); // Gives the modified array
[tmpAry release];