eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › regexp i szukanie słów bez kropki
Ilość wypowiedzi w tym wątku: 8

  • 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

strony : [ 1 ]



Szukaj w grupach

Szukaj w grupach

REKLAMA

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo:

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.