about_Join

Short description

Describes how the join operator (-join) combines multiple strings into a single string.

Long description

The join operator concatenates a set of strings into a single string. The strings are appended to the resulting string in the order that they appear in the command.

Syntax

The following diagram shows the syntax for the join operator.

-Join <String[]>
<String[]> -Join <Delimiter>

Parameters

String[] - Specifies one or more strings to be joined.

Delimiter - Specifies one or more characters placed between the concatenated strings. The default is no delimiter ("").

Remarks

The unary join operator (-join <string[]>) has higher precedence than a comma. As a result, if you submit a comma-separated list of strings to the unary join operator, only the first string (before the first comma) is submitted to the join operator.

To use the unary join operator, enclose the strings in parentheses, or store the strings in a variable, and then submit the variable to join.

For example:

-join "a", "b", "c"
a
b
c

-join ("a", "b", "c")
abc

$z = "a", "b", "c"
-join $z
abc

Examples

The following statement joins three strings:

-join ("Windows", "PowerShell", "2.0")
WindowsPowerShell2.0

The following statement joins three strings delimited by a space:

"Windows", "PowerShell", "2.0" -join " "
Windows PowerShell 2.0

The following statements use a multiple-character delimiter to join three strings:

$a = "WIND", "S P", "ERSHELL"
$a -join "OW"
WINDOWS POWERSHELL

The following statement joins the lines in a here-string into a single string. Because a here-string is one string, the lines in the here-string must be split before they can be joined. You can use this method to rejoin the strings in an XML file that has been saved in a here-string:

$a = @'
a
b
c
'@

(-split $a) -join " "
a b c

See also