jra*_*ara 159 powershell powershell-2.0
如何将数组对象转换为字符串?
我试过了:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
Run Code Online (Sandbox Code Playgroud)
没有运气.PowerShell有哪些不同的可能性?
Rom*_*min 271
$a = 'This', 'Is', 'a', 'cat'
Run Code Online (Sandbox Code Playgroud)
使用双引号(并可选择使用分隔符$ofs
)
# This Is a cat
"$a"
# This-Is-a-cat
$ofs = '-' # after this all casts work this way until $ofs changes!
"$a"
Run Code Online (Sandbox Code Playgroud)
使用运算符连接
# This-Is-a-cat
$a -join '-'
# ThisIsacat
-join $a
Run Code Online (Sandbox Code Playgroud)
使用转换为 [string]
# This Is a cat
[string]$a
# This-Is-a-cat
$ofs = '-'
[string]$a
Run Code Online (Sandbox Code Playgroud)
小智 31
我发现将数组管道连接到Out-String
cmdlet也很有效.
例如:
PS C:\> $a | out-string
This
Is
a
cat
Run Code Online (Sandbox Code Playgroud)
这取决于您最终使用哪种方法的最终目标.
小智 17
1> $a = "This", "Is", "a", "cat"
2> [system.String]::Join(" ", $a)
Run Code Online (Sandbox Code Playgroud)
第二行执行操作并输出到主机,但不修改$ a:
3> $a = [system.String]::Join(" ", $a)
4> $a
Run Code Online (Sandbox Code Playgroud)
这是一只猫
5> $a.Count
1
Run Code Online (Sandbox Code Playgroud)
小智 10
从管道
# This Is a cat
'This', 'Is', 'a', 'cat' | & {"$input"}
# This-Is-a-cat
'This', 'Is', 'a', 'cat' | & {$ofs='-';"$input"}
Run Code Online (Sandbox Code Playgroud)
写主机
# This Is a cat
Write-Host 'This', 'Is', 'a', 'cat'
# This-Is-a-cat
Write-Host -Separator '-' 'This', 'Is', 'a', 'cat'
Run Code Online (Sandbox Code Playgroud)