我正在从预加载的核心数据数据库中加载字符串,这些字符串都是大写字母。我想检查每个单词是否在英语词典中,如果是,则尝试像普通句子一样将其转换为小写形式,否则保持大写形式(用于缩写等)。在iOS 4上有没有办法实现这个功能?
Noah的答案实现方法:
-(BOOL) isDictionaryWord:(NSString*) word
{
UITextChecker *checker = [[UITextChecker alloc] init];
NSLocale *currentLocale = [NSLocale currentLocale];
NSString *currentLanguage = [currentLocale objectForKey:NSLocaleLanguageCode];
NSRange searchRange = NSMakeRange(0, [word length]);
NSRange misspelledRange = [checker rangeOfMisspelledWordInString:word range: searchRange startingAt:0 wrap:NO language: currentLanguage ];
return misspelledRange.location == NSNotFound;
}
NSString string = @"lalala";
if ([self isDictionaryWord:string]) string = [string lowercaseString];
-rangeOfMisspelledWordInString:range:startingAt:wrap:language:
方法:如果它返回一个范围,其location
为NSNotFound
,则提供的字符串中的所有单词都在字典中或已被文本检查器“学习”。