1

我正在尝试创建一个生成随机单词的应用程序,但是我希望在创建缩写词时忽略它们。为此,我随机生成一个字母数组,(用与拼字游戏相同的权重对它们进行加权;P)然后使用 UITextChecker 运行数组检查正确的单词,如下所示:

for (int i = 0; i < 14; i++) {
        [word setString:@""];
        for (int j = i; j < 14 ;j++) {
            [word appendString:[letterArray objectAtIndex:j]];

            NSRange misspelledWord = [checkText rangeOfMisspelledWordInString:word range:NSMakeRange(0, word.length) startingAt:0 wrap:NO language:@"en_GB"];

            if (misspelledWord.location == NSNotFound && word.length > 2) {
                NSRange misspelledWordSecondRun = [checkText rangeOfMisspelledWordInString:word range:NSMakeRange(0, word.length) startingAt:0 wrap:NO language:@"en_US"];
                if (misspelledWordSecondRun.location == NSNotFound) {

                     NSLog(@"You generated the word: %@",word);
                }
            }
            else {

            }
        }
    }

唯一的问题是,这让大量的缩写和首字母缩略词通过......有什么办法可以减少这个数字吗?必须有一种语言可以发送 checkText 这是英语词典的免费缩写版本吗?或者以某种方式告诉它将首字母缩略词标记为拼写错误的单词?如您所见,我试图通过使用我们英语而不是英国英语再次过滤单词来减少数量,但这并没有减少允许通过的首字母缩略词的数量:/

4

1 回答 1

0

使用我不想包含的单词数组来实现这一点,每次生成一个单词时,它都会检查它是否在这个数组中。如果是,则不会将其注册为单词,如果不是,则不会。

于 2012-11-20T16:06:18.137 回答