2

在我的应用程序NSMutableArray中是这样的,

 Activity:(
"0-1",
"2-4",
"3-5",
"1-2"
)

我想要NSMutableArray喜欢的数据,

Activity:(
"1",
"4",
"5",
"2"
)

拜托,有人建议我该怎么做?

4

3 回答 3

4

首先,我同意理查德的评论。此外,将您的 ivars 大写是一个坏习惯。也就是说,您可以通过以下方式完成所需的操作:

NSMutableArray *cleanArray = [[NSMutableArray alloc] initWithCapacity:0];  

// Here 'Activity' is your NSArray. A better name would be 'activity'
// (save capitalized names for classes)
for (NSString *item in Activity)
{
    [cleanArray addObject:[[item componentsSeparatedByString:@"-"] lastObject]];
}

现在你得到了一个在'-'之后带有子字符串的数组,所以你可以用新数组替换原来的数组。

于 2012-07-06T12:41:28.363 回答
1

你可以用一个循环来做到这一点:

NSMutableArray *arr = ...
for (int i = 0 ; i != arr.count ; i++) {
    NSString *str = [arr objectAtIndex:i];
    str = [str substringFromIndex:2];
    [arr replaceObjectAtIndex:i withObject:str];
}
于 2012-07-06T12:40:14.963 回答
1

使用此代码...

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

假设活动数组具有您的初始数组;

for(NSString *str in Activity){
     str  = [str substringFromIndex:str.length-1];
     [arra addObject:str];
}
[Activity removeAllObjects];
[Activity addAllObjectsFromArray:arra ];
[arra release];//If you are not using ARC
NSLog(@"Now your Activity array =%@",Activity );

如果您不想只替换数组中的“-”,那么您可以使用此代码..

str = [str stringByReplacingOccurrencesOfString:@"-"
                                 withString:@""]; 

这可能会帮助你..

于 2012-07-06T12:43:05.200 回答