[英]How can I check whether a word is in a dictionary or not?
我正在从预加载的核心数据数据库中加载字符串,该数据库恰好是大写的。
我想检查每个单词是否在英语词典中,如果是,请尝试像普通句子一样将其小写,如果不保持大写(用于缩写等)。
有没有办法用 iOS 4 做到这一点?
诺亚回答的实施:
-(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];
从 iOS 3.2 开始,您可以使用 UITextChecker class 访问系统字典。 使用它的-rangeOfMisspelledWordInString:range:startingAt:wrap:language:
方法:如果它返回一个location
为NSNotFound
的范围,则您提供的字符串中的所有单词都在字典中,或者已经被文本检查器“学习”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.