2017-08-24 1 views
0

ich eine Zeichenfolge, die wie diesermit einem Präfix

More text here ID[20] [Choice 5] More text here

Ich brauche es zu konvertieren jede dieser

More text here 20 [Choice 5] More text here

Im Grunde muss ich entfernen aussehen könnte äußere Verpackung ID[num] und bewahren Sie die Nummer im Inneren.

Ich tue dies:

string.replace(/ID\[/g, ' ')

Und das entfernt die ID[ am Anfang, aber ich kann nicht herausfinden, wie das Hinter ]

Antwort

3

Verwenden

s = s.replace(/ID\[(\d+)]/g, '$1') 
entfernen

Siehe die regex demo

Einzelheiten

  • ID\[ - eine Zeichenkette ID[
  • (\d+) - Gruppe 1: eine oder mehrere Ziffern
  • ] - eine wörtliche ]

Die $1 ist ein Rückreferenzierung auf die Gruppe 1 Wert. Das heißt, es werden alle außer den Ziffern in der ID[...] entfernt.

Um ID als ganzes Wort zu entsprechen, fügt \b vor ID (zur Vermeidung von ähnlichen Übereinstimmungen zu ersetzen, wie in CREATIONID[5]).

JS Demo:

var s = "More text here ID[20] [Choice 5] More text here"; 
 
s = s.replace(/ID\[(\d+)]/g, "$1"); 
 
console.log(s);

Verwandte Themen