-
1. Data: 2017-09-08 12:32:35
Temat: regexp i szukanie słów bez kropki
Od: Roman Tyczka <n...@b...no>
Witam
Kombinuję i coś mi chyba nie jarzy w czaszce.
Mam plik tekstwo, w nim jest obszar zaczynający się od słowa "start" i
kończocy na słowie stop".
W tym obszarze pomiędzy start i stop jest szereg słów pooddzielanych
przecinkami, większość słów ma w swoim wnętrzu kropkę lub dwie.
Chciałbym wydobyć wszystkie, które tych kropek nie mają. Do tego plik jest
wielolinijkowy (z enterami).
Przykład
...
start
raz.dwa, trzy, cztery.pięć, sześć.siedem.pół,
osiem, dziewięć, dziesięć, jedenaście.dwanaście.pół
stop
...
i z tego tekstu chcę wydobyć:
trzy
osiem
dzięwięć
dziesięć
Jak ugryźć ten kawałek chleba?
--
pozdrawiam
Roman Tyczka
-
2. Data: 2017-09-08 15:56:37
Temat: Re: regexp i szukanie słów bez kropki
Od: t...@g...com
W dniu 8 września 2017 12:32:38 użytkownik Roman Tyczka napisał:
> Jak ugryźć ten kawałek chleba?
Jeżeli środowiskiem jest Windows, to widzę 2 sposoby:
- prościutki program w dowolnym języku, nawet QBasic...
- wkleić tekst do MS Worda lub innego edytora rozpoznającego koniec wiersza, usunąć
niepotrzebne fragmenty do START i od STOP,
zamienić "," na "^p", usunąć zbędne znaki typu #32 i tym podobne, zapisać do pliku
tekstowego i potem polecenie FIND z opcją /V.
Sposób może mało elegancki, ale skuteczny...
-
3. Data: 2017-09-08 16:28:39
Temat: Re: regexp i szukanie słów bez kropki
Od: t...@g...com
W dniu 8 września 2017 15:56:39 użytkownik t...@g...com napisał:
> Jeżeli środowiskiem jest Windows, to widzę 2 sposoby:
> - prościutki program w dowolnym języku, nawet QBasic...
> - wkleić tekst do MS Worda lub innego edytora rozpoznającego koniec wiersza, usunąć
niepotrzebne fragmenty do START i od STOP,
> zamienić "," na "^p", usunąć zbędne znaki typu #32 i tym podobne, zapisać do pliku
tekstowego i potem polecenie FIND z opcją /V.
> Sposób może mało elegancki, ale skuteczny...
Tylko to jest, zdaje się, zadanie domowe lub problem na kartkówkę/egzamin z
przedmiotu RegExp - to już nie wiem...
-
4. Data: 2017-09-08 17:44:53
Temat: Re: regexp i szukanie słów bez kropki
Od: t...@g...com
W dniu 8 września 2017 16:28:41 użytkownik t...@g...com napisał:
> Tylko to jest, zdaje się, zadanie domowe lub problem na kartkówkę/egzamin z
przedmiotu RegExp - to już nie wiem...
Gapa ze mnie, zaczął się już przecież rok szkolny.
Jak tu pisano gdzieś obok - wcisnąłem się chyba ze swoimi radami między wódkę a
zakąskę...
-
5. Data: 2017-09-08 19:02:50
Temat: Re: regexp i szukanie słów bez kropki
Od: Szyk Cech <s...@o...pl>
> Jak ugryźć ten kawałek chleba?
W 3 krokach:
1. split "start.*stop" - przy założeniu, że nie ma ograniczenia
wyrażenia na pojedyncze wiersze.
2. split ", |\n" na każdym stringu z p. 1
3. Na każdym splicie z p.2 coś mniejwięcej takiego:
QRegExp lReg(".*[^.].*"); lReg.setMinimal(true);
QStringList lResult;
if(lReg.indexIn(splitN) >= 0) lResult << splitN;
Gdzie splitN to string N ze split w p. 2.
A w lResult są wszystkie słowa bez kropek...
Nie sprawdzałem rozwiązania, ale problem wydaje się być banalny...
-
6. Data: 2017-09-08 20:52:55
Temat: Re: regexp i szukanie słów bez kropki
Od: Szyk Cech <s...@o...pl>
To oczywiście w pętli:
> if(lReg.indexIn(splitN) >= 0) lResult << splitN;
-
7. Data: 2017-09-14 09:34:44
Temat: Re: regexp i szukanie słów bez kropki
Od: slawek <f...@f...com>
On Fri, 8 Sep 2017 19:02:50 +0200, Szyk Cech <s...@o...pl> wrote:
> Nie sprawdzałem rozwiązania,
> ale problem wydaje się być banalny...
Jest nawet bardziej banalny niż mogłoby się wydawać.
Po wyodrębnieniu słów wystarczy sprawdzić czy jest w nich jakaś
kropka. Nawet regex niepotrzebny. Gdyby to zrobić w C, to wystarczy
strtok i strchar.
-
8. Data: 2017-09-14 12:19:23
Temat: Re: regexp i szukanie słów bez kropki
Od: Roman Tyczka <n...@b...no>
On Thu, 14 Sep 2017 09:34:44 +0200, slawek wrote:
>> Nie sprawdzałem rozwiązania,
>> ale problem wydaje się być banalny...
>
> Jest nawet bardziej banalny niż mogłoby się wydawać.
>
> Po wyodrębnieniu słów wystarczy sprawdzić czy jest w nich jakaś
> kropka. Nawet regex niepotrzebny. Gdyby to zrobić w C, to wystarczy
> strtok i strchar.
A co jeśli ja chcę tym regexpem szukać w plikach za pomocą total
commandera?
--
pozdrawiam
Roman Tyczka