Autor | Zpráva | ||
---|---|---|---|
canes Profil * |
#1 · Zasláno: 20. 2. 2011, 21:44:50
Zdravím!
Chci v řetězci nahradit "+" za "plus" a chci to udělat globálně pro všechny "+" v řetězci, takže tam dám regulární výraz "g" string.replace(/+/g,"plus") Jenže "+" je taky regulární výraz, tak zkouším var pattern="+"; var patt = new RegExp(pattern,"g"); str2=str.replace(patt,"plus"); Jenže pořád to JS bere jako regulární výraz. Jak mu řeknu, že chci symbol "+" a ne regulární výraz? Jako jediné východisko mě napadá rozdělit řetězec za každým "+" a následně spojit prvky pole a vkládat mezi ně "plus", ale to je velice neelegantní řešení. |
||
Radek9 Profil |
#2 · Zasláno: 20. 2. 2011, 22:06:44
canes:
Najdi si něco o escapování. Čekal bych, že to budeš znát, když se pouštíš do regulárních výrazů. |
||
canes Profil * |
#3 · Zasláno: 20. 2. 2011, 22:31:10
Radek9:
Měl jsem pocit, že jsem to už zkoušel... Je to smutný. Díky. :) |
||
_es Profil |
#4 · Zasláno: 20. 2. 2011, 22:33:21 · Upravil/a: _es
canes:
„ak mu řeknu, že chci symbol "+" a ne regulární výraz?“ Musíš dať pred + spätné lomítko \ . Viď tu (špeciálne znaky).
Teda literál regulárneho výrazu bude /\+/g alebo /\x2b/g
|
||
Časová prodleva: 13 let
|
0