Autor Zpráva
canes
Profil *
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
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 *
Radek9:
Měl jsem pocit, že jsem to už zkoušel...
Je to smutný. Díky. :)
_es
Profil
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

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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