私のアプリケーションNSMutableArray
では、次のようになります。
Activity:(
"0-1",
"2-4",
"3-5",
"1-2"
)
NSMutableArray
好きなデータが欲しい
Activity:(
"1",
"4",
"5",
"2"
)
どうすればそれを行うことができるか教えてください。
私のアプリケーションNSMutableArray
では、次のようになります。
Activity:(
"0-1",
"2-4",
"3-5",
"1-2"
)
NSMutableArray
好きなデータが欲しい
Activity:(
"1",
"4",
"5",
"2"
)
どうすればそれを行うことができるか教えてください。
まず、リチャードのコメントに同意します。また、ivar を大文字にするのは悪い習慣です。つまり、次のようなもので必要なことを達成できます。
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]];
}
これで、「-」の後に部分文字列を含む配列が得られたので、元の配列を新しい配列に置き換えることができます。
このコードを使用...
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:@""];
これはあなたを助けるかもしれません..
ループでそれを行うことができます:
NSMutableArray *arr = ...
for (int i = 0 ; i != arr.count ; i++) {
NSString *str = [arr objectAtIndex:i];
str = [str substringFromIndex:2];
[arr replaceObjectAtIndex:i withObject:str];
}