我从服务器得到以下回复:
[{"bp":"000/000","dateTime":"05/12/2016 01:02:59 PM","doc":{"email_id":"batra@gmail.com","exception":0,"gender":"Male","id":0,"mobile_no":8055621745,"name":"Batra","profile_id":0,"qualification":"MD(Doctor)","reg_id":157,"salutation":"Mr","wellness_id":"251215782521"},"follow_up":"17","id":37,"medicine":["Syrup,Decold Total,20,0-0-1,Before Meal,1","Injection,Insulin,1,0-0-1,Before Meal,1","no","no","no","no","no","no","no","no"],"patient":{"email_id":"bishtrohit1989@gmail.com","exception":0,"gender":"Male","id":0,"mobile_no":8055621745,"name":"Rohit","profile_id":0,"qualification":"","reg_id":150,"salutation":"Mr","wellness_id":"290119935030"},"weight":"000"}]
由此我将medicine
数组分开,如下所示:
NSMutableArray *Myarray = [NSMutableArray new];
for (int i=0; i<_menuItems.count; i++) {
[Myarray addObject:[[_menuItems objectAtIndex:i] objectForKey:@"medicine"]];
NSLog(@"medicine: %@",Myarray);
我输出的内容如下:
medicine: (
(
"Syrup,Decold Total,20,0-0-1,Before Meal,1",
"Injection,Insulin,1,0-0-1,Before Meal,1",
no,
no,
no,
no,
no,
no,
no,
no
)
)
现在我想要的是什么:
1)删除所有no
元素。
2)之后,我想在每个字符串中只有第二个元素。
总之,我希望我的最终输出如下: [Decold Total, Insulin];
但我不知道该怎么做.. ??
请任何人都可以解决我的问题。帮助将是可观的。
答案 0 :(得分:1)
您需要在NSPredicate
上使用Myarray
并过滤它。
让你的Myarray
像这样。
NSMutableArray * Myarray = [NSMutableArray new];
for (int i=0; i<_menuItems.count; i++) {
[Myarray addObjectsFromArray:[[_menuItems objectAtIndex:i] objectForKey:@"medicine"]];
}
1)删除所有no
元素。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT (SELF = %@)",@"no"];
NSArray *filterArray = [Myarray filteredArrayUsingPredicate:predicate];
2)每个字符串只需要第二个元素
NSMutableArray *medicineArray = [[NSMutableArray alloc] init];
for (NSString* medicine in filterArray) {
NSArray *arr = [medicine componentsSeparatedByString:@","];
if (arr.count >= 2) {
[medicineArray addObject:[arr objectAtIndex:1]];
}
}