作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想提取 NSarray 的所有“女儿”。
比如nsarray是这样制作的:
hello
hi
hello daughter
my goodness
daughter (someone)
my daughter
how are you?
etc.
我想提取所有包含“daughter”的行。你能给我指出正确的方向吗?
我当前的代码是:
for (NSString *mystring in self.array)
{
if ([mystring rangeOfString:searchText].location!=NSNotFound)
{
NSUInteger idx = [self.array indexOfObject:mystring];
[self.filterarray addObject: mystring];
}
}
最佳答案
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/
我是一名优秀的程序员,十分优秀!