Skocz do zawartości

Zablokowane Przeszukiwanie pliku txt


Muchaszewski

Rekomendowane odpowiedzi

Witam. Mam pytanie. Jak przeszukać plik txt, w moim przypadku słownik litera po literze.

Bardziej szczegółowo. Wpisuję że słowo ma się składać z 6 liter, a litery to 'K' pierwsza i 'k' ostatnia mniej więcej K****k. I nie wiem nawet jak zacząć żeby mi przeszukał 2.5 miliona słów i pokazał wszystkie słowa pokrywające się z tym wyżej :D Wydajność takiego systemu mnie nie interesuje. Może się szukać nawet cały dzień ale musi myć sprawny. Wszystkie realne propozycje i działający kod mile widziane :thumbsup:

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//wyrazy w słowniku powinny byc oddzielane spacja

var a,plik,linia,wyraz,znak,szukaj,dlugosc,lit1,lit2;

a = ds_list_create()

plik = file_text_open_read('tekst.txt') //tekst.txt - plik przeszukiwany

linia = ''

wyraz = ''

znak = ''

szukaj = 0

dlugosc = 6 //dlugosc wyrazu

lit1 = 'K' //lit1

lit2 = 'k' //lit2

while(!file_text_eof(plik))

{

linia = file_text_read_string(plik)

file_text_readln(plik)

for(i = 1; i <= string_length(linia)+1; i += 1)

{

znak = string_char_at(linia,i)

if(znak = lit1)

{

szukaj = 1

wyraz = lit1

}

else if(znak = lit2)&&(szukaj = 1)

{

if(string_char_at(linia,i+1) = ' ')||(!ord(string_char_at(linia,i+1)))

{

wyraz += lit2

if(string_length(wyraz) = dlugosc)

ds_list_add(a,wyraz)

wyraz = ''

}

}

else if(znak != ' ')&&(znak != '

')

{

wyraz += znak

}

else

{

wyraz = ''

szukaj = 0

}

}

linia = ''

znak = ''

wyraz = ''

}

file_text_close(plik)

for(i = 0; i < ds_list_size(a); i += 1)

znak += ds_list_find_value(a,i)+'

'

show_message(znak)

 

Prawda, jakie to proste? :D

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...