mormel: matching mit Variable

Hallo,

ich möchte aus einer Zeichenkette einen Teil ersetzen.
Der zu ersetzende Teil steht in einer Variablen. z.B.

var etwas = "Text";
var string = "Hier ist etwas Text";
string = string.replace(/etwas/,"");

Ergebnis: "Hier ist Text"

Herauskommen sollte aber : "Hier ist etwas". Wie kann ich bei replace
(das gleiche Problem tritt auch bei match auf) den Inhalt einer
Variablen aus einem String ersetzen?

danke
mormel

  1. var etwas = "Text";
    var string = "Hier ist etwas Text";
    string = string.replace(/etwas/,"");

    Ergebnis: "Hier ist Text"

    var etwas = new RegExp("Text");
    var string = "Hier ist etwas Text";

    string = string.replace(etwas,"");

    Gruß
    Timothy

  2. gruss mormel,

    var etwas = "Text";
    var string = "Hier ist etwas Text";
    string = string.replace(/etwas/,"");

    Ergebnis: "Hier ist Text"

    jup - das ist auch richtig so, denn:
       mit [ string.replace(/etwas/,""); ]
       teilst Du der methode [ replace ] mit,
       dass alles, worauf der regulaere
       ausdruck /etwas/ passt, durch ""
       ersetzt werden soll - es wird also
       nach "etwas" gesucht und nicht nach
       "Text" was in Deinem bsp. durch die
       variable [ etwas ] repraesentiert wird;

    schreibe also:

    var etwas = new RegExp("Text","g");
       // g steht dabei fuer global - suche ueber den gesamten string
       // die kurzschreibweise fuer die erste zeile sieht so aus:
       // var etwas = /Text/g;
       var string = "Hier ist etwas Text";
       string = string.replace(etwas,"");

    Herauskommen sollte aber : "Hier ist etwas".

    heraus kommt dann aber: "Hier ist etwas "
    ------------------------------------------^

    http://selfhtml.teamone.de/javascript/objekte/regexp.htm
       http://selfhtml.teamone.de/javascript/objekte/string.htm#replace

    by(t)e by(t)e - peterS. - pseliger@gmx.net

  3. Hallo,

    Danke euch beiden, funktioniert!

    mormel