如何检查单词是否在词典中?

时间:2011-08-10 19:55:35

标签: iphone objective-c nsstring

我正在从预装的核心数据数据库中加载字符串,这些数据库恰好都是CAPITAL。

我想检查每个单词是否在英语词典中,如果是,请尝试将其小写为常规句子,如果不是大写(对于缩写等)。

iOS 4有没有办法做到这一点?

2 个答案:

答案 0 :(得分:6)

诺亚答案的实施:

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

答案 1 :(得分:0)

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

相关问题