2009-03-06 31 views
10

Im intentando unir varios elementos de una matriz en una cadena con esto;Powershell se une a

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

Pero aparece el error '' error en la llamada al método 'Missing'). La documentación de unión solo menciona unir todos los elementos de una matriz, no elementos en índices específicos. Se puede hacer esto?

Saludos

Andy

Respuesta

13

Wrap el contenido de "$ a [0,1,2,3]" con "$()" o "()"

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

- - O -

puede utilizar operador de rango ".."

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

Saludos Sung, eso es increíble! –

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

Más idiomática: usar una función de PowerShell del operador de combinación de esta manera:

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