• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Szukanie CALYCH SLOW w stringu

Object Storage Arubacloud
0 głosów
427 wizyt
pytanie zadane 7 czerwca 2017 w PHP przez skrzatjedyny Gaduła (3,150 p.)
Witam, jest jakis sposob, zeby wyszukac tylko cale SLOWA w stringu, a nie razem z ich skladowymi? Chodzi mi o konkretne slowa ktore sam podam jak i wrzucenie do tablicy wszystkich slow razem z ich iloscia.
komentarz 7 czerwca 2017 przez d0n Mądrala (6,440 p.)
Algorytmy wyszukiwania wzorca, zaimplementowane w wielu jezykach jako biblioteki z wyrazeniami regularnymi, lub po prostu jako algorytmy

2 odpowiedzi

0 głosów
odpowiedź 7 czerwca 2017 przez Boshi VIP (100,240 p.)
Podaj przykład, bo nic nie idzie zrozumieć z twojego pytania.
komentarz 7 czerwca 2017 przez skrzatjedyny Gaduła (3,150 p.)
Mam tekst, zaimportowany z pliku txt. Potrzebuję:

1. wyszukać CAŁE słowa według klucza (czyli jak wpisze "nie" to ma znaleźć tylko "nie", bez np "ocaleNIE")

2. Wyszukać wszystkie słowa w tym tekście i wrzucić je do tablicy razem z ilością ich powtórzeń
komentarz 7 czerwca 2017 przez Pietrak Pasjonat (18,850 p.)
Możesz rozdzielić stringa do tablicy: http://php.net/manual/en/function.str-word-count.php
komentarz 7 czerwca 2017 przez skrzatjedyny Gaduła (3,150 p.)
To zwróci mi tylko liczbę tego konkretnego słowa. Aczkolwiek dzięki temu wpadłem na pewien pomysł. Dalej jednak potrzebuję sposobu żeby włożyć każde słowo do osobnej "szufladki" w tablicy
komentarz 7 czerwca 2017 przez Pietrak Pasjonat (18,850 p.)
1 returns an array containing all the words found inside the string
0 głosów
odpowiedź 7 czerwca 2017 przez Tomek Sochacki Ekspert (227,510 p.)

Chodzi mi o konkretne slowa ktore sam podam jak i wrzucenie do tablicy wszystkich slow razem z ich iloscia.

Chodzi o coś takiego?

let str = 'dom chomik jabłko arbuz'
str.match(/\b(dom|arbuz)\b/g); //["dom","arbuz"]

Czyli wyrażenie regularne, które próbuje dopasować konkretnie wybrane słowa w całym tekście i zwraca je - tutaj akurat w formie tablicy?

Mój przykład jest w JS, bo lepiej się w nim czuję niż w PHP, ale jeśli o to chodzi to daj znać to najwyżej spróbuję dorobić Ci wersję z PHP. Generalnie funkcję przeszukującą dobrze byłoby umieścić w funkcji, której argumentami byłyby szukane słowa, a wyrażenie regularne byłoby tworzone dynamicznie.

 

Powiedz jeszcze jakbyś chciał dokładnie trzymać tą ilość słów to się odpowiednio przerobi kod. Chodzi Ci o tzw. tablicę asocjacyjną, gdzie kluczem byłoby słowo, a wartością jego częstość występowania?

Pozdrawiam

komentarz 7 czerwca 2017 przez skrzatjedyny Gaduła (3,150 p.)
Chciałem uniknąć regularnych, ale chyba nie da rady. Ok, wyszukanie konkretnego słowa chyba załatwione, ale do drugiego zadania potrzebuje wrzucić do tablicy WSZYSTKIE słowa z tego tekstu OSOBNO i obok każdego słowa zliczyć ile ich jest w tekście.
komentarz 7 czerwca 2017 przez Tomek Sochacki Ekspert (227,510 p.)

to się domyślam, ale co rozumiesz przez "i obok każdego". Najlepiej jakbyś dał jakiś przykład ciągu znakowego + szukanych słów + jak ma wyglądać wynik.

Chciałem uniknąć regularnych, ale chyba nie da rady.

Nie uciekaj na siłę od regexp. W wielu prostych czynnościach są one bardzo przydatne. Oczywiście nie można przesadzać i ładować regexp parsującego HTML... :) ale jest wiele zastosowań, gdzie są one dobrym rozwiązaniem.

komentarz 7 czerwca 2017 przez skrzatjedyny Gaduła (3,150 p.)
Chodzilo o zwykła tablice dwuwymiarowa ;)
komentarz 7 czerwca 2017 przez skrzatjedyny Gaduła (3,150 p.)
A tekstem jest zwykły artykuł. Przykład :

Input: "Ala ma kota. Ala lubi koty."

Output: Array(

["Ala", 2],

["ma",1],

["kota", 1],

["lubi", 1],

["koty", 1]

)
komentarz 7 czerwca 2017 przez Boshi VIP (100,240 p.)
http://php.net/manual/en/function.substr-count.php

załatwia ci wszystko na raz.. w tym substringi również w stringach i je zlicza.. wynik końcowy możesz sobie obrobić jak chcesz;]
komentarz 7 czerwca 2017 przez skrzatjedyny Gaduła (3,150 p.)
@Boshi wytlumaczysz mi jak to to wszystko zalatwia? Ja nie wiem jakie slowa tam sa, ten tekst sie naprawde dlugi. Potrzebowalbym sposobu, ktory iteracyjnie bedzie rozbijal stringa na tablice po slowie i w tym samym czasie sprawdzal czy takie slowo juz sie nie pojawilo, jesli tak to ++ licznik przy danym slowie ;)

Podobne pytania

+1 głos
2 odpowiedzi 297 wizyt
pytanie zadane 26 kwietnia 2021 w C i C++ przez fsfxvcxv Obywatel (1,160 p.)
0 głosów
1 odpowiedź 95 wizyt
pytanie zadane 25 listopada 2018 w C i C++ przez Padoski Użytkownik (990 p.)
0 głosów
3 odpowiedzi 295 wizyt

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...