Ergebnis 1 bis 6 von 6
  1. #1
    oink123 ist offline Grünschnabel
    registriert
    03-08-2007
    Beiträge
    5

    Question Probleme mit RegExp und Replace

    Hallo,

    ich möchte gerne einen Begriff, der nicht Teil eines Wortes ist, durch einen anderen ersetzen lassen (also nicht "im" aus "Schwimmbad"). Angenommen, meine zu durchsuchende Zeichenkette wäre
    Code:
    Ich schwimme im Schwimmbecken.
    und "im" soll ersetzt werden durch "durchs".
    Aus der Zeichenkette oben soll also werden:
    Code:
    Ich schwimme durchs Schwimmbecken.
    und NICHT
    Code:
    Ich schwdurchsme durchs Schwdurchsmbecken.
    Wie müsste der reguläre Ausdruck dafür lauten? Ich habe bereits Folgendes versucht, aber das funktioniert nicht, d.h. es wird später bei replace nichts ersetzt - auch nicht die alleinstehenden Wörter. Wenn ich jedoch nur wort als Argument 1 für RegExp nehme und nicht '\'+wort+'\b', dann wird zu viel ersetzt (Schwdurchsmbecken...).
    Code:
    [...]=new RegExp('\'+wort+'\b','gi');
    Müsste \...\b nicht eigentlich das Gewünschte machen? In der Firefox Fehlerkonsole erhalte ich folgende Fehlermeldung:


    Danke euch schon mal im Voraus!
    oink123
    Geändert von oink123 (12-08-2007 um 13:24 Uhr) Grund: Fehlermeldungsscreenshot hinzugefügt

  2. #2
    D.Baddel ist offline Foren As
    registriert
    16-05-2007
    Beiträge
    99

    AW: Probleme mit RegExp und Replace

    str='Ich schwimme im Schwimmbecken.';
    str=str.replace(/im\b/gi,'durchs');
    alert(str);

  3. #3
    oink123 ist offline Grünschnabel
    registriert
    03-08-2007
    Beiträge
    5

    AW: Probleme mit RegExp und Replace

    Danke für deine Antwort! Da der Ausdruck zur Laufzeit generiert werden muss, müsste ich schon das RegExp Objekt benutzen, bräuchte also sowas:
    Code:
    var oink='Ich schwimme im Schwimmbecken';
    var wort='im';
    var test=new RegExp(wort+'\b','gi');
    oink=oink.replace(test,'durchs');
    alert(oink);
    Das funktioniert aber leider nicht. Es gibt dann zwar keine Fehlermeldung, aber es wird auch nichts ersetzt. :/

  4. #4
    D.Baddel ist offline Foren As
    registriert
    16-05-2007
    Beiträge
    99

    AW: Probleme mit RegExp und Replace

    Code:
    var oink='Ich schwimme im Schwimmbecken';
    var wort='im';
    var test=new RegExp(wort+'\\b','gi');
    oink=oink.replace(test,'durchs');
    alert(oink);

  5. #5
    oink123 ist offline Grünschnabel
    registriert
    03-08-2007
    Beiträge
    5

    AW: Probleme mit RegExp und Replace

    Danke für die Antwort! Das oink=oink.replace hab ich nur im Forenbeispiel vergessen und habs ja noch schnell korrigiert gehabt. Es lag aber tatsächlich an dem \\b. Der Backslash musste escapet werden. Jetzt geht's. Danke noch mal!

  6. #6
    Befan ist offline Grünschnabel
    registriert
    13-08-2007
    Beiträge
    1

    AW: Probleme mit RegExp und Replace

    Wenn der zu ersetzende String in einer Variablen (str) steckt, tut es replace(str," ") auch. Wie kombiniere ich das syntaktisch aber mit zB '/.../g'?

    replace('\/'+str+'\/g'," ") ist wohl ziemlich naiv von mir ...


    Thx, Greetz

Ähnliche Themen

  1. Probleme mit Druckbefehl bei Safari (für Windows)
    Von schlegel.berlin im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 27-06-2007, 22:34
  2. REGEXP - Brauche Hilfe
    Von torbenf im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 13-03-2007, 11:47
  3. RegExp oder RegExp nicht
    Von pad8626 im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 23-02-2007, 21:08
  4. Probleme mit DMA-controller
    Von brainshock im Forum Windows
    Antworten: 10
    Letzter Beitrag: 11-11-2003, 14:55
  5. Antworten: 9
    Letzter Beitrag: 26-10-2001, 18:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •