Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Pomoc s regulárním výrazem

Jedná se o regulární výraz použitý v JavaScriptu, kde potřebuju v textovým řetězci nahradit sekvenci znaků [//]:#LA za jinou.

Obecně vím, jak na to:

newSt = oldStr.replace(/expression/gi, "newValue");

Jenže tady se mi do toho pletou speciální znaky, zkouším a zkouším a nedačí se mi. Pro znalce je to otázka chvilky. Pomůžete mi?

Díky!

Předmět Autor Datum
Nejak takto by to nefungovalo? <script> function myFunction() { var str = "[//]:#LA"; var res = str…
pme 08.08.2020 17:01
pme
Inu kdyby tam nebyly speciální znaky, tak by to fungovalo. Je to vlastně to samý, co jsem uváděl v d…
Pavel 08.08.2020 20:46
Pavel
Nie je to to isté. Funkcia replace má v tomto prípade ako prvý argument reťazec, nie regulárny výraz…
los 08.08.2020 22:57
los
\[\/\/\]:#LA
Wikan 08.08.2020 20:49
Wikan
Díky všem za pomoc! poslední
Pavel 09.08.2020 19:19
Pavel

Nie je to to isté. Funkcia replace má v tomto prípade ako prvý argument reťazec, nie regulárny výraz. V prípade reťazca netreba escapovať špeciálne znaky, ale má to nevýhodu, že sa nahradí iba prvý výskyt.

Alternatíva k regulárnemu výrazu od Wikana by mohla vyzerať takto:

newStr = oldStr.split("[//]:#LA").join("newValue");

Zpět do poradny Odpovědět na původní otázku Nahoru