2012-07-06 77 views
2

在我的应用程序NSMutableArray就这样产生了,从NSMutableArray中的元素中移除一个字符?

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

我想数据NSMutableArray一样,

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

请任何一个建议我,我该怎么办呢?

+1

CAPS?尽管如此,请在您的帖子中使用适当的大小写。 – 2012-07-06 12:33:05

+2

我也强烈建议你学习基本算法和字符串操作,因为这是一个非常初学者的问题。 – 2012-07-06 12:34:27

回答

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]]; 
} 

现在你有与后子阵列“ - ”所以你也可以用新的替换原来的阵列。

+0

使用此代码,这是好得多..不错 – Abhishek 2012-07-06 12:51:58

+0

@Ahbhishek谢谢你的男人。我喜欢StackOverflow的FairPlay! – Alladinian 2012-07-06 12:53:41

+0

它应该是朋友,如果你做得更好,那么你必须得到它... – Abhishek 2012-07-06 12:55:40

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]; 
} 
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:@""]; 

可能,这将有很大帮助你..

相关问题