我正在创建NSStrings的NSArray,但是输入的一个数组是一组引号
""
我想知道从我的数组中排除这些,我尝试使用谓词但它不起作用。
这就是我的代码。
NSString *tempSymbolsString = [tempAxesDictionary objectForKey:@"Symbols"];
NSArray *tempSymbolsArray = [tempSymbolsString componentsSeparatedByString:@";"];
tempSymbolsArray = [symbolsArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF != """""]];
NSLog(@"%@", tempSymbolsArray);
任何帮助将不胜感激。
答案 0 :(得分:2)
实际上甚至比这更简单。由于您只在数组中获得了字符串,因此请创建一个可变副本并删除所有出现的""
。也许是这样的事情:
NSMutableArray *temp = [tempSymbolsArray mutableCopy];
[temp removeObject:@"\"\""];
这是有效的,因为removeObject:
会通过isEqual:
比较对象并删除所有匹配项。
答案 1 :(得分:0)
自己动手:
NSString *tempSymbolsString = tempAxesDictionary[@"Symbols"];
NSMutableArray *symbolsArray = [[tempSymbolsString componentsSeparatedByString:@";"] mutableCopy];
for (NSUInteger i = symbolsArray.count; i > 0; i--) {
if ([symbolsArray[i - 1] isEqualToString:@"\"\""]) {
[symbolsArray removeObjectAtIndex:i - 1];
}
}
最后,symbolsArray
将包含除""
匹配的所有值。
[NSPredicate predicateWithFormat:@"SELF != \"\\\"\\\"\""]