js replace mit Variabel suche

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • js replace mit Variabel suche

    Geschätzte Community

    ich möchte gerne mit Javascript replace einen String verändern.

    so funktionierts:
    Code:
    var text = "Haus oder sonst eine Auswahl oder so";
    text = (text+'').replace(/(aus)/gi, 'x_\$1_x');
    alert(text);
    Resultat: Hx_au_xs oder sonst eine x_Aus_xwahl oder so

    Nun möchte ich aber dem replace /(aus)/gi in einem String übergeben.
    Code:
    var text = "Haus oder sonst eine Auswahl oder so";
    suche = "/(aus)/gi"
    text = (text+'').replace(suche, 'x_\$1_x');
    alert(text);
    Das funktioniert leider nicht.


    Ich bitte um euere Hilfe.
    Wie kann ich den String zum suchen dem replace übergeben.

    Beste Grüsse aus Zürich
    Roger

  • #2
    Geschätzter Roger,

    Reguläre Ausdrücke sind in JS ein eigener Datentyp und haben mit Strings nichts zu tun. Du kannst also einfach
    Code:
    var suche = /(aus)/gi;
    schreiben.

    Das var nicht vergessen, sonst spammst du dir dein window-Objekt zu und riskierst böse Seiteneffekte.

    Edit: Evtl. hilfreich zu wissen: Wenn du statt eines RegEx einen String mit replace verwendest, erfolgt die Ersetzung literal und würde in deinem Fall tatsächlich nur den Teilstring "/(aus)/gi" ersetzen, der aber im Text nicht vorkommt.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 18.09.2009, 00:28.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Geschätzte Amica

      ganz herzlichen Dank für deine wichtigen Hinweise.
      Mit einem RegExp konnte ich die Aufgabe lösen.

      Beispiel funktioniert:
      Code:
      var such_string;
      var text;
      var suchen = new RegExp("("+such_string+")", "gi");
      text = (text+'').replace(suchen, 'x_$1_x');
      alert(text);
      Schönes Wochenende
      Verregnete Grüsse aus Zürich
      Roger

      Kommentar

      Lädt...
      X