2012-07-06 78 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:@""]; 

可能,這將有很大幫助你..

相關問題