Словарь ObjC / iPhone grep? - PullRequest
       4

Словарь ObjC / iPhone grep?

0 голосов
/ 12 апреля 2011

У меня в приложении для iPhone большое количество строк, содержащих случайные комбинации букв, и я хотел бы проверить каждую из этих случайных строк по словарю.Я ищу способ grep каждой строки с / usr / share / dict / words и вернуть результат (или количество результатов) обратно в мое приложение.Это возможно в приложении для iPhone?

Редактировать: Спасибо за все предложения.Первоначально я хотел выполнить grep и в идеале направить результаты обратно в мое приложение, но после еще нескольких копаний и игры с NSTask это кажется невозможным на iPhone.В итоге я загрузил все слова в большой NSDictionary с помощью этого подхода:

NSString * allWords = [NSString stringWithContentsOfFile: @ "/ usr / share / dict / words" кодировка: NSASCIIStringEncoding error: NULL];NSArray * wordArray = [allWords componentsSeparatedByString: @ "\ n"];

Ответы [ 2 ]

3 голосов
/ 12 апреля 2011

Самый простой способ - добавить слова в базу данных sqlite и выполнить grep для них, используя SQL-запрос или NSPredicate

.
1 голос
/ 12 апреля 2011

Я думаю, вы могли бы справиться со стандартным кодом, если вы не используете регулярные выражения. В вашем вопросе термин «grep», по-видимому, означает просто поиск по подстроке из списка слов.

Предполагая, что у вас есть доступ к словарю слов (например, он может быть включен в комплект приложения), попробуйте это

NSString *dictString = [NSString stringWithContentsOfFile:pathToDictionary encoding:NSUTF8StringEncoding error:NULL];
NSArray *words = [dictString componentsSeparatedByString:@"\n"]; // maybe @"\r\n" ?

for (NSString *word in words)
{
       // do your comparison here
       NSRange wordRange = [myBigString rangeOfString:word];
       if (wordRange.location!=NSNotFound)
       {
            NSLog(@"It's peanut butter jelly time! [%@]", word);
       }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...