Heim >Web-Frontend >js-Tutorial >Wie kann ich Trennzeichen beim Teilen von Zeichenfolgen in JavaScript mithilfe regulärer Ausdrücke beibehalten?

Wie kann ich Trennzeichen beim Teilen von Zeichenfolgen in JavaScript mithilfe regulärer Ausdrücke beibehalten?

DDD
DDDOriginal
2024-11-28 16:31:20448Durchsuche

How Can I Preserve Delimiters When Splitting Strings in JavaScript Using Regular Expressions?

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 />&dagger; bbbb<br />&Dagger; cccc

Angenommen, Sie möchten diese Zeichenfolge am
gt; Trennzeichen, dem ein Sonderzeichen († oder ‡) folgt. Der folgende RegExp kann verwendet werden:

string.split(/<br \/>&amp;#?[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 \/>&amp;#?[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 \/>&amp;#?[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 \/>&amp;#?[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 \/>&amp;#?[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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn