如何从对象转换为字符串

时间:2012-07-20 08:15:10

标签: powershell

我是PowerShell的新手,所以这可能很容易回答。假设我创建了一个这样的数组:

$array1 = "a", "b", "c"

然后我创建另一个数组:

$array2 = $array1|select-object{$_}

我想要做的是加入$ array2中的所有值,所以我最终得到字符串“a b c”,但在$ array2上使用-join“”只会产生一个空结果。有人可以向我解释我如何解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

只需将$array2 = $array1|select-object{$_}替换为$array2 = $array1 | select-object$array2 = $array1

$array1 = "a", "b", "c"

#expected output: a b c
$array1 -join " "

#here it is
$array2 = $array1 | select-object

#expected output: a b c
$array2 -join " "

#here it is
$array2 = $array1

#expected output: a b c
$array2 -join " "

答案 1 :(得分:1)

在PowerShell中执行所需操作的简便方法是

"$array1"

'' + $array1
如果$OFS$OFS,则

将使用$null或空格连接数组元素。

但正如其他人所说,你的Select-Object电话是错误的。 Select-Object采用属性名称,而不是脚本块。在这种情况下,你可能想要ForEach-Object吗?

答案 2 :(得分:0)

修改

$array2 = $array1|select-object{$_}

$array2 = $array1

然后

$array2 -join ' '

作品!

相关问题