Javascript - ersetzen-string zwischen Klammern, aber die Klammern bleiben sollten,
Möchte ich ersetzen von Zeichen in einem string, z.B.
Entwürfe [2]
:
Entwürfe [3]
Dieser regex gibt nur Entwürfe 3:
str.replace(/\[(.+?)\]/g, 3)
Danke für die Hilfe im Voraus
InformationsquelleAutor Peter O. | 2012-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie etwas mehr als unten?
Oder die Klammern ändern kann <> {} pro Eingang?
Können Sie auch eine Funktion anstelle der ersetzen-string.
InformationsquelleAutor anishsane
Null Breite Behauptungen statt der eigentlich passenden Klammern.
BEARBEITEN: Javascript nicht lookbehind. :c
Als eine Allgemeine Lösung, Sie könnte die Erfassung der umgebenden Inhalt und steckte es wieder in die Ersatz-Zeichenfolge mit Rückverweise.
Alternativ, Sie könnten hardcoded Klammern in Ihrem Ersatz.
Ah ja, so ist es nicht. Vergessen Javascript nicht lookbehind. Aktualisiert.
Ja, die js nicht unterstützen, lookbehind. es unterstützt nur lookahead.
Wenn deine regex wird immer $1==[ & $2==], warum nicht fest?
Dies ist eine Allgemeine Lösung. Wenn zum Beispiel die umgebenden Inhalt war "aiuhsadas" und "asdasdas", hartzucodieren die Werte umständlich wäre.
InformationsquelleAutor Asad Saeeduddin
Könnten Sie fügen Sie einfach die Klammern an den Ersatz-text wie diesen:
Bearbeiten: Wenn Sie nichts zu tun mit der Zahl in der Klammer können Sie eine Funktion verwenden, anstatt der Ersatz-text:
InformationsquelleAutor smokiespartakus