Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Программа для поиска слов по маске в txt

Ответить
Настройки темы
Программа для поиска слов по маске в txt

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте! Имеется файлик dic.txt со словами внутри. Есть ли такие программы,к которым можно подключить этот файл и чтобы она смогла искать слова по маске в этом файле? Или может кто сможет такую программку сделать? Программа простенькая,без наворотов,только поиск слов по маске. Буду очень признателен,если кто подскажет такие программы или сам сделает,если не трудно :-)

Отправлено: 10:55, 06-02-2021

 

Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3054
Благодарности: 1008

Профиль | Сайт | Отправить PM | Цитировать


Цитата Creat0R:
28 мб должен спокойно открывать. »
Ну да есть немного задержка, но думаю это терпимо...
Вот вариант для поверки (создаётся файл в 30 мб):
Код: Выделить весь код
#include <Array.au3>

$sDictFile = _CreateDemoDict(30) ;dict.txt
$sFileRead = FileRead($sDictFile)
FileDelete($sDictFile)

If $sFileRead = '' Then
    Exit MsgBox(64, @ScriptName, 'Unable to read File')
EndIf

$sMask = InputBox('Mask', 'Enter search mask:', 'Line 1?0')
If @error Then Exit

$sMask = StringReplace($sMask, '?', '.')
$sMask = StringReplace($sMask, '*', '.*')

$aSearch = StringRegExp($sFileRead, '\b(' & $sMask & ')\b', 3)
_ArrayDisplay($aSearch)

Func _CreateDemoDict($iSize)
    Local $sDictFile = @TempDir & '\~dict.txt'
    Local $sData = ''

    While StringLen($sData) < $iSize * 1024 * 1024
        $sData &= 'Line ' & Random(100, 999, 1) & @CRLF
    WEnd

    Local $hFile = FileOpen($sDictFile, 2)
    FileWrite($hFile, $sData)
    FileClose($hFile)

    Return $sDictFile
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 11:52, 10-02-2021 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Код:
#include <Array.au3>
$sFileRead = FileRead('dic.txt')
If $sFileRead = '' Then Exit MsgBox(64, @ScriptName, 'Unable to read File dic.txt')
$sMask = InputBox('Mask', 'Enter search maswk:', '')
If @error Then Exit
$aSearch = StringRegExp($sFileRead, '(' & StringReplace($sMask, '?', '.') & ')', 3)
_ArrayDisplay($aSearch) »
Список показывает-ОТЛИЧНО!!!
Цитата Creat0R:
Какой результат ожидается от ?ЛА »
Результат должен быть-АЛА,ИЛА,ОЛЯ,ЮЛА,ТЛЯ.Ну,то есть то,что в файле есть.
Цитата Creat0R:
28 мб должен спокойно открывать. »
Такого размера не открывает-пишет:Unable to read File dic.txt
Цитата Creat0R:
Это парадокс )). Он не может выдавать несуществующие слова, т.к их нет. »
Реально парадокс! Показывает совсем другие слова,которых нету в файле.Искал по маске ?ла . Вот что выдало.Прикрепляю фото
Цитата Creat0R:
Код:
#include <Array.au3>
$sFileRead = FileRead('dic.txt')
If $sFileRead = '' Then Exit MsgBox(64, @ScriptName, 'Unable to read File dic.txt')
$sMask = InputBox('Mask', 'Enter search maswk:', '')
If @error Then Exit
$aSearch = StringRegExp($sFileRead, '(' & StringReplace($sMask, '?', '.') & ')', 3)
_ArrayDisplay($aSearch) »
Список показывает-ОТЛИЧНО!!!
Цитата Creat0R:
Какой результат ожидается от ?ЛА »
Результат должен быть-АЛА,ИЛА,ОЛЯ,ЮЛА,ТЛЯ.Ну,то есть то,что в файле есть.
Цитата Creat0R:
28 мб должен спокойно открывать. »
Такого размера не открывает-пишет:Unable to read File dic.txt
Цитата Creat0R:
Это парадокс )). Он не может выдавать несуществующие слова, т.к их нет. »
Реально парадокс! Показывает совсем другие слова,которых нету в файле.Искал по маске ?ла . Вот что выдало.Прикрепляю фото

Цитата lyohalyoha:
Прикрепляю фото »
https://ibb.co/FYKJC32

Последний раз редактировалось lyohalyoha, 10-02-2021 в 18:01. Причина: Нету фото


Отправлено: 18:01, 10-02-2021 | #12


Ветеран


Contributor


Сообщения: 26849
Благодарности: 7821

Профиль | Отправить PM | Цитировать


lyohalyoha, Вы лучше сам словарь упакуйте в архив и выложите на обменник/облако.

Отправлено: 20:56, 10-02-2021 | #13


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Код:
#include <Array.au3>
$sDictFile = _CreateDemoDict(30) ;dict.txt
$sFileRead = FileRead($sDictFile)
FileDelete($sDictFile)
If $sFileRead = '' Then
Exit MsgBox(64, @ScriptName, 'Unable to read File')
EndIf
$sMask = InputBox('Mask', 'Enter search mask:', 'Line 1?0')
If @error Then Exit
$sMask = StringReplace($sMask, '?', '.')
$sMask = StringReplace($sMask, '*', '.*')
$aSearch = StringRegExp($sFileRead, '\b(' & $sMask & ')\b', 3)
_ArrayDisplay($aSearch)
Func _CreateDemoDict($iSize)
Local $sDictFile = @TempDir & '\~dict.txt'
Local $sData = ''
While StringLen($sData) < $iSize * 1024 * 1024
$sData &= 'Line ' & Random(100, 999, 1) & @CRLF
WEnd
Local $hFile = FileOpen($sDictFile, 2)
FileWrite($hFile, $sData)
FileClose($hFile)
Return $sDictFile
EndFunc »
Этот,третий ваш код что-то не работает. Появляется надпись Line 1?0 и всё-дальше маска не работает.Второй код лучше,но он не открывает большие файлы,даже 7кб не открывает
Цитата Iska:
Вы лучше сам словарь упакуйте в архив и выложите на обменник/облако. »
https://cloud.mail.ru/public/h2aA/uKyo2vH9H

Отправлено: 08:34, 11-02-2021 | #14


Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3054
Благодарности: 1008

Профиль | Сайт | Отправить PM | Цитировать


Цитата lyohalyoha:
Результат должен быть-АЛА,ИЛА,ОЛЯ,ЮЛА,ТЛЯ »
И как интересно из ?ЛА ты ожидаешь ОЛЯ? откуда программа знает что А это Я?

Цитата lyohalyoha:
Такого размера не открывает-пишет:Unable to read File dic.txt »
Скорее всего просто опечатка, у тебя файл dic.txt, а скрипт открывает dict.txt.

Цитата lyohalyoha:
https://cloud.mail.ru/public/h2aA/uKyo2vH9H »
Работающий пример с этим файлом:

Код: Выделить весь код
#include <Array.au3>

$sDictFile = @DesktopDir & '\dic.txt'
$sFileRead = FileRead($sDictFile)

If $sFileRead = '' Then
    Exit MsgBox(64, @ScriptName, 'Unable to read File')
EndIf

$sMask = InputBox('Mask', 'Enter search mask:', '?ЛА')
If @error Then Exit

$sMask = StringReplace($sMask, '?', '.')
$sMask = StringReplace($sMask, '*', '.*')

$aSearch = StringRegExp($sFileRead, '(?m)^(' & $sMask & ')$', 3)
_ArrayDisplay($aSearch)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:56, 16-02-2021 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Программа для поиска слов по маске в txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поиск слов по маске ateka Скриптовые языки администрирования Windows 43 02-02-2020 13:16
CMD/BAT - [решено] Пакетный файл, предназначенный для поиска и удаления файлов по маске Roman_Norther@vk Скриптовые языки администрирования Windows 1 23-11-2017 14:19
CMD/BAT - [решено] Нужен bat-ник для поиска и удаления файлов и папок по маске Nun-Nun Скриптовые языки администрирования Windows 14 08-11-2014 09:53
CMD/BAT - Поправить bat для разделения txt по маске william-p Скриптовые языки администрирования Windows 8 22-06-2013 00:31
VBS/WSH/JS - Нужен VBS скрипт для поиска файлов по маске и копирование его в определенное место exekill Скриптовые языки администрирования Windows 0 17-03-2012 10:46




 
Переход