【问题标题】:Removing a character from elements in a NSMutableArray?从 NSMutableArray 中的元素中删除一个字符?
【发布时间】:2012-07-06 12:31:20
【问题描述】:

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

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

我想要NSMutableArray 中的数据,喜欢,

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

请,有人建议我该怎么做?

【问题讨论】:

  • 大写很多?说真的,请在您的帖子中使用正确的大写。
  • 我也强烈建议你学习基本算法和字符串操作,因为这是一个非常初级的问题。

标签: iphone objective-c cocoa-touch ios4


【解决方案1】:

首先我同意理查德的评论。 此外,将您的 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]];
}

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

【讨论】:

  • @Alladinian 但它只删除一个值。
【解决方案2】:

你可以用循环来做:

NSMutableArray *arr = ...
for (int i = 0 ; i != arr.count ; i++) {
    NSString *str = [arr objectAtIndex:i];
    str = [str substringFromIndex:2];
    [arr replaceObjectAtIndex:i withObject:str];
}

【讨论】:

    【解决方案3】:

    使用此代码...

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

    希望对你有帮助..

    【讨论】:

      猜你喜欢
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多