2009-03-06 7 views
10

Ich versuche, eine Anzahl von Elementen eines Arrays zu einem String zu verbinden;Powershell Joins

$a = "h","e","l","l","o" 
$b = [string]::join("", $a[0,1,2,3]) 

Aber ich bekomme ein 'Missing') 'in Methodenaufruf' Fehler. Die Join-Dokumentation erwähnt nur die Verbindung aller Elemente eines Arrays, nicht Elemente bei bestimmten Indizes. Kann das gemacht werden?

Prost

Andy

Antwort

13

Wickeln Sie den Inhalt von "$ a [0,1,2,3]" mit "$()" oder "()"

PS> [string]::join("", $($a[0,1,2,3])) 
hell 
PS> [string]::join("", ($a[0,1,2,3])) 
hell 

- Oder - -

Sie Bereichsoperator verwenden können ".."

PS> [string]::join("", $a[0..3]) 
hell 
+0

Prost Sung, das ist genial! –

8
PS > & {$ofs=""; "$($a[0,1,2,3])"} 
hell 
1

Mehr idiomatische: Powershell-internen Join-Operator wie folgt verwenden:

PS> $a[0,1,2,3] -join "" 
hell