Autor | Zpráva | ||
---|---|---|---|
slon_cz Profil |
#1 · Zasláno: 2. 6. 2018, 15:23:48
Ahoj, potřeboval bych nějakým způsobem udělat regex, který by ze stringu
"ahooooj" udělal "ahoj", ale třeba z "dneska to stojí 300kč" to nezmění nic, respektive že to neodstraní dvě ty nuly. Napadá někoho, jak by šlo toto udělat? Děkuji |
||
Keeehi Profil |
slon_cz:
Rozlišit písmena od čísel není problém. Problém je ale jen se samotnými písmeny. Jde o to, že existují slova, která v sobě mají zdvojené hlásky. Takže bohužel aahhoojj nebo ahooj nejde rozeznat od třeba půllitr nebo dvojjazyčný. Skupiny tří a více stejných po sobě jdoucích písmen se v češtině nevyskytují, takže ty by odstranit šly. Ale se dvěma je problém. // nahradí tři a více $output = preg_replace('~([[:alpha:]])\1{2,}~', '\1', $input); // nahradí dva a více => vytváří gramatické chyby $output = preg_replace('~([[:alpha:]])\1+~', '\1', $input); |
||
juriad Profil |
Hunspell zná 57686 českých slov, která obsahují dvě stejná písmena za sebou; malý vzorek:
nejneoddestilovanějšími dvousměnnostmi Apollónech neeliminačníma neexogenníma surrealistčiny dvaapůltýdennímu nepootevřeným poopravenost kuchtiččinou K těm trojitým opakováním; občas můžeš narazit (hunspell): brrr crrrrr fff grrrr hmmm hmmmm chrrr III KSSS mmmm mmmmm ppp pšššt SSSR škvrrrk VIII vrrr WWW www XIII XVIII Moderátor Kajman: Vkládej prosím kódy mezi značky [>pre] a [>/pre]
|
||
Časová prodleva: 5 let
|
0