How can I convert an array object to string?
I tried:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
with no luck. What are different possibilities in PowerShell?
This question is related to
powershell
powershell-2.0
You could specify type like this:
[string[]] $a = "This", "Is", "a", "cat"
Checking the type:
$a.GetType()
Confirms:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String[] System.Array
Outputting $a:
PS C:\> $a This Is a cat
I found that piping the array to the Out-String
cmdlet works well too.
For example:
PS C:\> $a | out-string
This
Is
a
cat
It depends on your end goal as to which method is the best to use.
$a = "This", "Is", "a", "cat"
foreach ( $word in $a ) { $sent = "$sent $word" }
$sent = $sent.Substring(1)
Write-Host $sent
From a pipe
# This Is a cat
'This', 'Is', 'a', 'cat' | & {"$input"}
# This-Is-a-cat
'This', 'Is', 'a', 'cat' | & {$ofs='-';"$input"}
Write-Host
# This Is a cat
Write-Host 'This', 'Is', 'a', 'cat'
# This-Is-a-cat
Write-Host -Separator '-' 'This', 'Is', 'a', 'cat'
1> $a = "This", "Is", "a", "cat"
2> [system.String]::Join(" ", $a)
Line two performs the operation and outputs to host, but does not modify $a:
3> $a = [system.String]::Join(" ", $a)
4> $a
This Is a cat
5> $a.Count
1
Source: Stackoverflow.com