我想提取 NSarray 的所有“女儿”。
例如,nsarray 是这样制作的:
hello
hi
hello daughter
my goodness
daughter (someone)
my daughter
how are you?
etc.
我想提取所有包含“女儿”的行。你能指出我正确的方向吗?
我当前的代码是:
for (NSString *mystring in self.array)
{
if ([mystring rangeOfString:searchText].location!=NSNotFound)
{
NSUInteger idx = [self.array indexOfObject:mystring];
[self.filterarray addObject: mystring];
}
}
Best Answer-推荐答案 strong>
NSArray *lines = ...;
NSArray *filteredLines = [lines filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(NSString *string, NSDictionary *bindings) {
return ([string rangeOfString:searchText].location != NSNotFound);
}]];
(需要 iOS 4.0 或更高版本)
如果您需要支持较早的系统版本,请使用:
NSArray *lines = ...;
NSArray *filteredLines = [lines filteredArrayUsingPredicate:[NSPredicate predicateWithFormat"(SELF contains[c] %@)", searchText]];
(需要 iOS 3.0 或更高版本)
关于ios如何在for循环中提取数组的所有rangeOfString?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8198084/
|