---
title: "replace i javascript"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/158063-replace-i-javascript"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "bananskalet"
published: "2007-03-11T14:10:08.000Z"
updated: "2007-03-11T15:49:18.000Z"
replies: 8
views: 529
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/158063-replace-i-javascript"
---

# replace i javascript

## #1 — bananskalet, 2007-03-11T14:10Z

Jag undrar över en sak rörande global replace i Javascript.

Exempel:
str.replace(/Adam/g, "Bertil")

Om jag istället för adam velat använda strängen strNamn, hur skriver jag då?

Om jag vill göra replace på något som innehåller slash-tecken, hur skriver jag då? Exempelvis om jag vill byta ut "" mot "\</b\>"?

(Ursäkta om det här är elementärt, men alla börjar vi ju nånstans...)

Permalänk: https://www.webforum.nu/p/158063

## #2 — Peter S, 2007-03-11T14:18Z

```
str.replace(new RegExp(strNamn, "g"), "Bertil")
```

Escape:a '/' till '\\/'.

Permalänk: https://www.webforum.nu/p/1944399

## #3 — bananskalet, 2007-03-11T14:43Z

Tack, men jag får det inte att fungera.

```
    var txHTML = txTA;
	stab="[b]"; stau="[u]"; stai="[i];"
	endb="[/b]"; endu="[/u]"; endi="[/i];"
	txHTML=txHTML.replace(/"/g,""");
	txHTML=txHTML.replace(/'/g,"'");
	txHTML=txHTML.replace(/</g,"&lt;");
	txHTML=txHTML.replace(/>/g,"&gt;");
	txHTML=txHTML.replace(/&/g,"&amp;");
	txHTML=txHTML.replace(new RegExp(stab, "g"),"<b>");
	txHTML=txHTML.replace(new RegExp(stai, "g"),"<i>");
	txHTML=txHTML.replace(new RegExp(stau, "g"),"<u>");
	txHTML=txHTML.replace(new RegExp(endb, "g"),"</b>"};
	txHTML=txHTML.replace(new RegExp(endi, "g"),"</i>"};
	txHTML=txHTML.replace(new RegExp(endu, "g"),"</u>"};
```

Hur skriver man om ovanstående på ett bättre (och fungerande) sätt?
(Det är de 6 sista raderna som inte fungerar, och de 3 sista ger rentav felmeddelande. Jag vill ju alltså byta ut \[ b \] mot \< b \>, och \[ / b\] mot \< /b \>  (ignorera de extra blankstegen jag lade in här) osv.

Permalänk: https://www.webforum.nu/p/1944411

## #4 — Peter S, 2007-03-11T14:45Z

Tänk på att \[ och \] har särskild betydelse i reguljära uttryck. Dessa måste escape:as.

Permalänk: https://www.webforum.nu/p/1944413

## #5 — bananskalet, 2007-03-11T14:52Z

Tack. Jag försökte med det också nu, men lyckas inte. Du får jättegärna presentera varsitt kodrad-exempel på hur jag konkret skriver för att byta ut 
\[ b \] mot \< b \>
 respektive 
\[ / b\] mot \< /b \> 
(ignorera de extra blankstegen jag lade in här).

Permalänk: https://www.webforum.nu/p/1944420

## #6 — Peter S, 2007-03-11T15:01Z

```
txt = "text...&#91;b]fet text&#91;/b]!";
uno = "\\[b\\]";
dos = "\\[/b\\]";
txt = txt.replace(new RegExp(uno, "g"), "<b>");
txt = txt.replace(new RegExp(dos, "g"), "</b>");
alert(txt);
```

Edit:/ txt ändrad

Permalänk: https://www.webforum.nu/p/1944422

## #7 — bananskalet, 2007-03-11T15:02Z

Nu tror jag att jag fick till det. Jag skippade att försöka gå via strängar, och skrev (tack vare dig) istället nån harang med backslash före specialtecknen. Verkar fungera. Tack!

(Tillägg: gjorde precis som du föreslog nu i svaret du nyss hann skriva. Så tack igen. ;))

Permalänk: https://www.webforum.nu/p/1944423

## #8 — Peter S, 2007-03-11T15:04Z

:bire   

Glöm ej att markera det svar som löste problemet som slutgiltigt.

Permalänk: https://www.webforum.nu/p/1944424

## #9 — Peter S, 2007-03-11T15:49Z

Hm, det korrekta är att markera det inlägg som löste problemet.  :)

Permalänk: https://www.webforum.nu/p/1944432

---

Tråden på webben: https://www.webforum.nu/amne/javascript/158063-replace-i-javascript
