2017-03-16 2 views
-1

ich diesen Code haben einfügen können:JavaScript-String mit regex ersetzen Funktion, wo ich eine Variable

$(this).html(html.replace(/"expedita"/gi, '<strong>$&</strong>')); 

, die funktioniert, aber die Schnur fest codierten zu ersetzen ist, muss ich Variable einen

einfügen Lage sein,
$(this).html(html.replace(/"+search+"/gi, '<strong>$&</strong>')); 

Suche ist eine Variable Ich habe einen Wert zugewiesen, den ich ersetzen möchte, aber dieser Code funktioniert nicht, es scheint, ich kann eine Variable nicht in Regex-Ausdruck einfügen.

Wie kann ich Regex verwenden, aber kein fest codiertes Wort haben und jedes Wort verwenden können?

+1

Mögliche Duplikate von [Wie verwenden Sie eine Variable in einem regulären Ausdruck?] (Http://stackoverflow.com/questions/494035/how-do-you-use-a-variable-in-a-regular- Ausdruck) –

+3

Probieren Sie '$ (this) .html (html.replace (neue RegExp (Suche, 'g'), '$ &'))'. –

+1

@maxit Vielleicht sollte ich eine vollständige Antwort geben, im Falle anderer Benutzer haben das gleiche Problem wie Sie? Was denken Sie? –

Antwort

0

Um eine flexible und dynamische Methode zum Ersetzen des ersetzten Ausdrucks zu erhalten, verwenden Sie RegExp Objekt.

$(this).html(html.replace(new RegExp(search, 'g'), '<strong>$&</strong>'))

wo die search eine Variable, die den Ausdruck, den Sie ersetzen möchten, halten ist.