Direkt zum Hauptinhalt springen
eLearner.app
Modul 7 · Lektion 4 von 428/32 im Kurs~10 min
Lektionen des Moduls (4/4)

Split mit Regex

String.prototype.split(separator) akzeptiert nicht nur einen festen String, sondern auch eine Regex als Separator. Dies macht es zu einem mächtigen Werkzeug zur Tokenisierung von strukturiertem Text.

JS
'uno, due,tre  quattro'.split(/[,\s]+/);
// ["uno", "due", "tre", "quattro"]

Die Regex /[,\s]+/ matcht "ein oder mehrere Kommas oder Whitespaces": split teilt an jedem zusammengesetzten Begrenzungszeichen.

Typische Fälle

  • Tolerantes CSV: text.split(/\s*,\s*/), um Leerzeichen um Kommas herum zu behandeln.
  • Einfacher Tokenizer: text.split(/\s+/), um Wörter zu extrahieren.
  • Separator behalten: Wenn die Regex Erfassungsgruppen enthält, wird der Inhalt der Gruppen in das Ergebnis-Array aufgenommen.
JS
'a=1; b=2; c=3'.split(/(;)\s*/);
// ["a=1", ";", "b=2", ";", "c=3"]

Ohne die ()-Gruppe würde das Semikolon verschwinden. Mit (;) behältst du es im Ergebnis.

Erhalt von Separatoren bei Split-Operationen

Wenn du Split-Separatoren in Erfassungsklammern setzt, enthält die Ausgabe von String.prototype.split die Separatoren selbst als Elemente im endgültigen Array, anstatt sie zu verwerfen.

Probiere es aus

Übung#regex.m7.l4.e1
Versuche: 0Wird geladen…

Finde jeden toleranten CSV-Separator: ein Komma mit optionalen Leerzeichen davor und danach. Auf diese Weise könntest du es in split verwenden, um die Liste zu tokenisieren.

Editor wird geladen…
Hinweis anzeigen

Verwende \s* vor und nach dem Komma, um optionale Leerzeichen aufzunehmen.

Lösung nach 3 Versuchen verfügbar

Wiederholungsübung

Übung#regex.m7.l4.e2
Versuche: 0Wird geladen…

Finde jeden Separator des Typs 'Leerzeichen oder Semikolons' (eins oder mehrere). Auf diese Weise würde split den Text in Wörter tokenisieren.

Editor wird geladen…
Hinweis anzeigen

Kombiniere \s und ; in einer Klasse [\s;] mit dem Quantifizierer +.

Lösung nach 3 Versuchen verfügbar

Zusätzliche Herausforderung

Übung#regex.m7.l4.e3
Versuche: 0Wird geladen…

Schreibe eine Regex zur Verwendung in einem Split, das Zahlen trennt, während die mathematischen Operatoren `+`, `-`, `*lock_content`, `/` als Elemente des Arrays erhalten bleiben.

Editor wird geladen…
Hinweis anzeigen

Schließe die Zeichenklasse der mathematischen Operatoren in Erfassungsklammern ein, um sie im Split-Array zu erhalten.

Lösung nach 3 Versuchen verfügbar