Heim >Web-Frontend >js-Tutorial >Wie kann ich Trennzeichen beim Teilen von Zeichenfolgen in JavaScript mithilfe regulärer Ausdrücke beibehalten?
Beibehalten von Trennzeichen beim Teilen von Zeichenfolgen in JavaScript mit RegExp
Das Aufteilen einer Zeichenfolge in Segmente mithilfe regulärer Ausdrücke (RegExp) ist eine häufige Aufgabe in JavaScript . Manchmal ist es jedoch wünschenswert, die zum Teilen verwendeten Trennzeichen beizubehalten.
Betrachten Sie die folgende Zeichenfolge:
aaaaaa<br />† bbbb<br />‡ cccc
Angenommen, Sie möchten diese Zeichenfolge am
gt; Trennzeichen, dem ein Sonderzeichen († oder ‡) folgt. Der folgende RegExp kann verwendet werden:
string.split(/<br \/>&#?[a-zA-Z0-9]+;/g);</p> <p>Während dieser RegExp die Aufteilungsaufgabe ausführt, verwirft er das <br /> Trennzeichen. Dies kann in bestimmten Szenarien unerwünscht sein.</p> <p>Um die Trennzeichen beizubehalten, können verschiedene Optionen verwendet werden, wie unten gezeigt:</p> <pre class="brush:php;toolbar:false">string.split(/(<br \/>&#?[a-zA-Z0-9]+;)/g);
Durch das Einschließen des Trennzeichens in Klammern werden die Trennzeichen als erfasst separate Elemente im resultierenden Array.
Ein anderer Ansatz beinhaltet die Verwendung eines positiven Lookaheads Behauptung:
string.split(/(?=<br \/>&#?[a-zA-Z0-9]+;)/g);
Diese Behauptung entspricht der Position unmittelbar vor dem Trennzeichen, ohne das Trennzeichen tatsächlich zu verbrauchen.
Alternativ kann eine negative Lookbehind-Behauptung verwendet werden:
string.split(/(?!<br \/>&#?[a-zA-Z0-9]+;)/g);
Diese Behauptung gleicht die Position unmittelbar nach dem Trennzeichen ab, ohne sie zu verbrauchen.
Zusätzlich eine reguläre Ausdruck kann verwendet werden, um den Teil der Zeichenfolge vor dem Trennzeichen zu erfassen:
string.split(/(.*?<br \/>&#?[a-zA-Z0-9]+;)/g);
Dies erfasst alles bis zum Trennzeichen.
Beim Umgang mit Pfaden ist eine besondere Überlegung zur Erhaltung erforderlich Verzeichnis-Schrägstriche:
var str = 'Animation/rawr/javascript.js'; var tokens = str.match(/[^\/]+\/?|\//g);
Dieser RegExp stellt sicher, dass auch Schrägstriche nach Verzeichnissen erfasst werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Trennzeichen beim Teilen von Zeichenfolgen in JavaScript mithilfe regulärer Ausdrücke beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!