Powershell convert string to array
16,059
Solution 1
I would use the -split
regex operator, like so:
$text = -split $text
You can also use it directly in the foreach()
loop declaration:
foreach($fruit in -split $text)
{
"$fruit is a fruit"
}
In unary mode (like above), -split
defaults to splitting on the delimeter \s+
(1 or more whitespace characters).
This is nice if a user accidentally enters consecutive spaces:
PS C:\> $text = Read-Host 'Input fruit names'
Input fruit names: Apple Pear Peaches Banana
PS C:\> $text = -split $text
PS C:\> $text
Apple
Pear
Peaches
Banana
Solution 2
Use Split()
$text = $text.Split(" ")
Author by
nixgeek
Updated on June 09, 2022Comments
-
nixgeek almost 2 years
How do I change:
$Text = "Apple Pear Peach Banana"
to
$Text = @("Apple", "Pear", "Peach", "Banana")
I am planning to feed the array to a
foreach
loop. The input the user is prompted to enter fruit with a space between (I will useRead-Host
for that). So then I need to convert a space-separated string to an array for theforeach
loop.Thank you...