我会使用NSRange和[NSString lowercaseString]创建搜索字符串和要搜索的单词的小写版本。
然后使用小写字母搜索字符串的rangeOfString方法产生一个NSRange,然后我会使用“successRange”来输出原始文本的相应块。
这里是一个工作示例我工作了你:
NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", @"key3", @"key4", @"key5",@"key6", nil];
NSArray *objects = [NSArray arrayWithObjects:@"How", @"are", @"you", @"doing", @"?",@"How are you doing?", nil];
NSDictionary * words = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSString * searchString = @"are";
NSString * lowercaseSearchString = [searchString lowercaseString];
for(NSString * key in words){
NSString * text = [words objectForKey:key];
NSString * lowercaseText = [text lowercaseString];
NSRange successRange = NSRangeFromString(@"");
NSRange lowercaseRange = [lowercaseText rangeOfString:lowercaseSearchString];
if(lowercaseRange.location!=NSNotFound){
successRange = lowercaseRange;
}
NSLog(@"key: %@, text: %@", key,text);
if(successRange.length >0){
NSLog(@" text subStringWithRange: %@", [text substringWithRange:successRange]);
}
}
或[searchField.text lowercaseString] rangeOfString:关键lowercaseString]。 – danh 2012-04-17 21:56:03