Results 1 to 5 of 5

Thread: Text lookup

  1. #1
    VIP Elric's Avatar
    Join Date
    Sep 2006
    Location
    в комнате с белым потолком
    Posts
    12,267

    Default Text lookup

    у меня имеется ааахрененно большой и запутанный текстовый документ [txt]. мне надо узнать есть ли в етом документе определённые слова которые у меня в отельном документе [excel] в принципе я конечно могу сделать скопировать слово из [excel] и поискать его в тексте...затем скопировать ещё одно слово из [excel] и поискать его в тексте но у меня там порядка 300 слов и зае@усь ето делать вручную. можли как-то сделать так что бы ета самая функция [find] автоматически проверяла слово за словом в списке в [excel], выставляла допустим 1 или 0 в зависмисти от результата и переходила к другому слову в списке...будут какие идеи?

    нет, я не могу перенести текстовый документ в [excel] чтобы сделать [vlookup] :(

  2. #2
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: Text lookup

    Макро для Word-а написать - вариант-1. Конвертировать табличку в CSV и нарисовать что-то маленькое на C - вариант-2. Вариант-2 - просто быстрее.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  3. #3
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: Text lookup

    Самый прикольный вариант - скомпилировать сканер с библиотекой bison.
    :grum:
    С программой на C - естественно. Ну это - если вообще "лень напрягаться".
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  4. #4
    Злыдень ))) profAleks's Avatar
    Join Date
    Jun 2009
    Posts
    3,337

    Default Re: Text lookup

    "Запихнуть" текст в MySQL и написать запрос. :grum:

  5. #5
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: Text lookup

    Quote Originally Posted by profAleks View Post
    "Запихнуть" текст в MySQL и написать запрос. :grum:
    Кстати - далеко не самый "тупой" вариант. :grum:
    Только текст перед этим лучше "подготовить". - а это всё равно "один проход" сканера (лексического анализатора). Просто слова надо повыделять (заменить все пробелы и знаки препинания на "разделители слов"). Если в тексте использовались переносы в словах - то "посливать" слова. Тогда в самом деле можно импортировать табличку из одного ключевого поля из текcта. :grum::grum::grum:
    Но намного проще в маленькой программе на C с использованием какой-нибудь библиотеки libhash (даже Berkeley DB хватит). :grum:
    А выделение слова из текcта - примерно строчек десять:
    emptyWord();
    while( !EOF ) {
    a=getch();
    if(a in letters) { pushToWord(a); continue; }
    if(WordNotEmpty()) getWord(),emptyWord();
    };
    if(WordNotEmpty()) getWord();
    :grum:
    Примерно так. Ну а внутри getWord проверять всю эту муть со встречаемиостью слов. Это в том числе с использованием DBMS можно даже делать.
    a in letters - коды букв из слов в латинском алфавите вообще последовательно расположены в ASCII. Даже думать ни о чём не надо. Да и функции из stdlib в этом случае правильно работают.
    Last edited by crazy-mike; 08-20-2009 at 11:33 PM.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Russian America Top. Рейтинг ресурсов Русской Америки. Terms of Service | Privacy Policy Рейтинг@Mail.ru