Autor Zpráva
Warezov
Profil *
Chtel bych se zeptat jak spocitat pocet podstringu ve stringu?
retro
Profil *
Co je to podstring ?
retro
Profil *
Jinak jestli je to, co si myslím (podobnost stringů) - Tady je něco : http://www.borber.com/blog/funkce-pro-podobnost-stringu-reseni
Majkl578
Profil
substr_count()
imploder
Profil
"podstring" je zřejmě podřetězec, tj. má se spočítat počet všech různých řetězců, které jsou součástí daného řetězce, včetně jeho samotného.

V řetězci o délce n je n pozic, kde může podřetězec začínat. Podřetězec o délce n může začínat jen na jediné pozici (na 1. znaku řetězce) -> tedy je 1; podřetězec o délce (n-1) může začínat na dvou místech: na 1. znaku nebo na 2. znaku -> tedy jsou 2; řetězec o délce (n-2) může začínat na třech: na 1. znaku, na 2. znaku, nebo na 3. znaku -> tedy jsou 3; ...atd. Takhle to pokračuje až do podřetězce o délce 1 znak.
Takže: počet podřetězců v řetězci o délce n je roven n! (n-faktoriál).
Poznámky:
- Pokud považuješ prázdný řetězec taky za podřetězec, pak přičti k výsledku +1.
- Takhle se spočítá počet všech možných výběrů jakéhokoliv počtu znaků z daného řetězce (každý výběr je určen pozicí, kde v řetězci začíná, a svojí délkou) - tzn. pokud některé 2 výběry mají stejný obsah, započítají se i tak jako 2 různé podřetězce.
- Pokud chceš spočítat jen počet různých (svým obsahem) podřetězců, můžeš všechny podřetězce vypsat a duplicitní odfiltrovat; nebo použít nějakou sofistikovanější metodu (kterou neznám).
- Pokud nechceš počítat počet všech možných podřetězců daného řetězce, ale něco jiného, a to počet výskytů uritého podřetězce v řetězci, pak je funkce substr_count(), kterou ti poradil Majkl578, to pravé.
Warezov
Profil *
děkuji Majkl578 a imploder za pomoc...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: