Javascript String split – String zu Array

Javascript Split String zu Array

split () teilt eine Zeichenkette bei jedem Vorkommen eines einfachen Teilstrings (z.B. bei Kommas) oder regulären Ausdrucks und speichert die Fragmente in einem Array. Der optionale Parameter n gibt die maximale Anzahl von Feldern an, die von split () erzeugt werden sollen.

Paul, Pauline, Apostel, Paulus, Postpaket



function listArray (elem, index) {
   result.innerHTML += "index [" + index + "] " + elem.trim() + "<br>";
}

let result = document.getElementById("result");
let simplestring = document.querySelector("#simplestring").innerHTML;
let felder = simplestring.split(',', 3);
felder.forEach (listArray);

Am Rande: elem.trim() wird ausgegeben, um die Leerzeichen vor / nach den Elementen zu entfernen.

URL mit split in Pfad und Dateinamen trennen

window.location.pathname gibt den Pfad zur aktuellen Seite zurück. string.split teilt den Pfadnamen bei jedem / und speichert die einzelnen Segmente in einem Array.

Den letzten Teil des Pfads – z.B. den Dateiname der HTML-Datei – erreicht dann ein einfaches array.pop().

const loc = window.location.pathname;
const path = loc.split("/");
const filename = path.pop();
console.log (filename);

split() mit regulärem Ausdruck

Es wird wohl wirklich meist das Komma sein, anhand dessen ein String in ein Array geteilt werden sollen. Wenn der String an verschiedenen Zeichen gesplittet werden soll, kann split() mit einem regulären Ausdruck aufgerufen werden.

Peter, Franz-Anton, Karl-Heinz, Achim, Hans-Hermann

Hier wird der String sowohl beim Komma als auch beim Bindestrich geteilt.

             beim Komma ----+ +---- beim Bindestrich
                            | |
let vornamen = signs.split(/,|-/);
vornamen.forEach (listArray2);

Der Senkrecht-Strich (Pipe) zwischen den beiden Zeichen ist das ODER der regulären Ausdrücke.

Löcher im Array

Wenn der String beim Leerzeichen gesplittet wird und nicht sichergestellt ist, dass die Ausdrücke immer nur durch genau ein Blank getrennt sind, kann ein Array mit Löchern entstehen.

Paul Pauline Paulus Postpaket
["Paul"," ","Pauline"," "," "," "," ","Postpaket"]

Auch wieder ein Fall für einen regulären Ausdruck:

   Bei einem oder mehr Blanks
                         +
                         |
let notemp = emp.split(/\s+/);