| Autor | Zpráva | ||
|---|---|---|---|
| peta Profil |
#1 · Zasláno: 25. 12. 2006, 18:35:37
reg. vyraz 1 | ? -> /
mam zdroj = "abc123 6 342 45}{_?> 3 5 gdh"; A ted potrebuji regularnim vyrazem udelat toto: vysledek = "abc123|342|45|gdh"; cili odmazat 1-pismenkove ("w") retezce a vsechny ne-pismenkove ("W") znaky. timto smazu vsechny ne-pismenkove --- reg = new RegExp("W+","g"); vysledek = zdroj.replace(reg,"|"); --- No jo, ale jak to spojit s podminkou pismenkove>1 a jeste treba uvazovat pripad, ze muze byt splneno na konci a zacatku retezce. --- reg = new RegExp("(W+wW|W+","g"); vysledek = zdroj.replace(reg,"|"); --- Tohle prave provede to same, co predchozi, protoze script pro reg vyraz nazazi treba na retezec "?a!" zpusobem: - "?" je dalsi W ? - ne? takze vyhovuje podmince W a dalsi na rade je "a" - a protoze a nevyhovuje podmince, pokracujeme "!" - a ten opet vyhovuje podmince W takze se W+wW v podstate ignoruje Mno, a wW zase selze pri "aa?" (splnuje) i "b" (nesplnuje) v retezci "??aa??b" |
||
| peta Profil |
#2 · Zasláno: 26. 12. 2006, 08:52:49
Jeste jinak...
Mam retezec a potrebuji z nej vytahnout vsechna slova (\w) vetsi nez 2 (puvodne 1) do pole. Mysles jsem si, ze to regularnimi vyrazy prepisi a pak vysplituji podle "|". |
||
| peta Profil |
#3 · Zasláno: 26. 12. 2006, 17:30:28
no nic, tak jsem to potom zrusil podle delky v poli
reg = new RegExp("[\W]+","g"); a = s.replace(reg,"|"); a = a.split("|"); + to pole a porovnavani delky |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0