Split

Der -split Operator in PowerShell wird verwendet, um einen String anhand eines Trennzeichens (Delimiter) in ein Array von Teilstrings aufzuteilen.


🧠 Syntax

<string> -split <delimiter>

Oder mit erweiterten Optionen:

<string> -split <delimiter>, <max-substrings>, <options>

📌 Grundlagen


🔹 Beispiele

Einfaches Splitten

$text = "Apfel,Birne,Banane"
$result = $text -split ","

Ergebnis:

Apfel
Birne
Banane

Split mit Leerzeichen

$text = "Das ist ein Test"
$result = $text -split " "

Mehrere Trennzeichen (Regex)

$text = "Apfel;Birne,Banane"
$result = $text -split "[,;]"

Erklärung:


💡 Verhalten bei max-substrings

Wenn die maximale Anzahl an Elementen erreicht ist:

Das letzte Element im Ergebnis enthält den gesamten verbleibenden Rest des Strings und wird nicht weiter gesplittet.

$text = "A,B,C,D"
$result = $text -split ",", 2

Ergebnis:

A
B,C,D

Erklärung:


🧩Split mit Optionen

$text = "a,b,c"
$result = $text -split ",", 0, "IgnoreCase"

Mögliche Optionen:


⚠️ Wichtige Hinweise

1. Regex-Falle

$text = "1.2.3"
$result = $text -split "."

Problem:
. bedeutet im Regex „beliebiges Zeichen“

➡️ Ergebnis: komplett zerlegt

Lösung:

$result = $text -split "\."

🗑 2. Leere Elemente

"text,,text" -split ","

Ergebnis:

text

text

Erklärung:

Dieses Element ist ein leerer String (""), kein null


🔄 Alternative Methoden

.Split() (kein Regex!)

$text = "A,B,C"
$result = $text.Split(",")

Unterschied zu -split:


[regex]::Split()

[regex]::Split("A,B,C", ",")

➡️ Alternative mit explizitem Regex-Handling


🧩 Typische Anwendungsfälle


🧪 Mini-Beispiel aus der Praxis

$csv = "Max;Mustermann;30"
$name = $csv -split ";"

$vorname = $name[0]
$nachname = $name[1]
$alter = $name[2]

🧠 Merksatz

-split denkt in Regex. Wenn du das vergisst, bekommst du Chaos statt Struktur.


Revision #1
Created 2026-04-17 22:27:15 UTC by John-Andreas Borinas
Updated 2026-04-17 23:02:02 UTC by John-Andreas Borinas