Skip to main content

Join

Der -join Operator in PowerShell wird verwendet, um mehrere Elemente (z. B. Strings in einem Array) zu einem einzigen String zusammenzufügen.


🧠 Syntax

<array> -join <delimiter>

Oder ohne Trennzeichen:

<array> -join

📌 Grundlagen

  • Gibt immer einen String (System.String) zurück

  • Verbindet alle Elemente eines Arrays in der gegebenen Reihenfolge

  • Der Delimiter wird wörtlich verwendet (kein Regex!)

  • Standard-Delimiter ist ein leerer String ("")


🔹 Beispiele

Einfaches Zusammenfügen

$array = "Apfel","Birne","Banane"
$result = $array -join ","

Ergebnis:

Apfel,Birne,Banane

Join ohne Trennzeichen

$array = "Hallo","Welt"
$result = $array -join

Ergebnis:

HalloWelt

Join mit Leerzeichen

$array = "Das","ist","ein","Test"
$result = $array -join " "

Ergebnis:

Das ist ein Test

Join mit Zeilenumbruch

$array = "Zeile1","Zeile2","Zeile3"
$result = $array -join "`n"

Ergebnis:

Zeile1
Zeile2
Zeile3

⚠️ Wichtige Hinweise

1. Kein Regex

Im Gegensatz zu -split:
Der Delimiter wird nicht als regulärer Ausdruck interpretiert.

Das bedeutet:

  • Sonderzeichen haben keine spezielle Bedeutung

  • "." ist einfach ein Punkt, kein Platzhalter


2. $null-Werte

$array = "A",$null,"B"
$result = $array -join ","

Ergebnis:

A,,B

Erklärung:

  • $null wird als leerer String behandelt

  • Der Delimiter wird trotzdem eingefügt


3. Nicht-String-Werte

$array = 1,2,3
$result = $array -join "-"

Ergebnis:

1-2-3

Erklärung:

  • Alle Elemente werden automatisch in Strings konvertiert


🔄 Alternative Methoden

[string]::Join()

[string]::Join(",", $array)

Unterschied zu -join:

  • Methodenaufruf statt Operator

  • Gleiche Funktionalität, oft in .NET-Kontexten verwendet


🧩 Typische Anwendungsfälle

  • Array in einen String umwandeln

  • CSV-Zeilen erzeugen

  • Textausgaben formatieren

  • Mehrzeilige Strings erzeugen


🧪 Mini-Beispiel aus der Praxis

$user = "Max","Mustermann",30
$csv = $user -join ";"

Ergebnis:

Max;Mustermann;30

🧠 Merksatz

-join klebt alles zusammen. Ohne Struktur, wenn du keinen Delimiter setzt.