-2

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

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

我想将其转换为谁、什么、在哪里等。

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

我应该采取哪些步骤来转换所有这些数组值?

4

4 回答 4

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
)
于 2012-06-26T12:19:15.977 回答
0

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

用'_'分隔字符串

环形

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

并更新您的阵列..

于 2012-06-26T12:00:03.210 回答
0

以下可能会对您有所帮助 -

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

你可以让这个循环。

或者你可以去componentSeperatedByStrings

于 2012-06-26T12:02:09.913 回答
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];
于 2012-06-26T12:20:20.233 回答