我该如何检查一个单词是否在字典中?

3
我正在从预加载的核心数据数据库中加载字符串,这些字符串都是大写字母。我想检查每个单词是否在英语词典中,如果是,则尝试像普通句子一样将其转换为小写形式,否则保持大写形式(用于缩写等)。在iOS 4上有没有办法实现这个功能?

我尝试查找SDK内置的字典,但没有找到。 - user594161
2个回答

6

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];

0
从iOS 3.2开始,您可以使用UITextChecker类来访问系统字典。使用其-rangeOfMisspelledWordInString:range:startingAt:wrap:language:方法:如果它返回一个范围,其locationNSNotFound,则提供的字符串中的所有单词都在字典中或已被文本检查器“学习”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接