我该如何更改:
$Text = "Apple Pear Peach Banana"
to
$Text = @("Apple", "Pear", "Peach", "Banana")
我计划将数组用于 foreach
循环。用户被提示输入水果名称,以空格分隔(我将使用 Read-Host
)。因此,我需要将以空格分隔的字符串转换为数组,以供 foreach
循环使用。
谢谢...
我该如何更改:
$Text = "Apple Pear Peach Banana"
to
$Text = @("Apple", "Pear", "Peach", "Banana")
我计划将数组用于 foreach
循环。用户被提示输入水果名称,以空格分隔(我将使用 Read-Host
)。因此,我需要将以空格分隔的字符串转换为数组,以供 foreach
循环使用。
谢谢...
-split
正则表达式运算符,如下所示:$text = -split $text
您也可以直接在foreach()
循环声明中使用它:
foreach($fruit in -split $text)
{
"$fruit is a fruit"
}
在一元模式下(如上所述),-split
默认使用\s+
(1个或多个空格字符)作为分隔符进行分割。
如果用户意外输入了连续的空格,则此方法非常好用:
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
$text = $text.Split(" ")
$Text.Split(' ')
需要更多的字符来回答。
$Text.Split(' ')
,请说些有用或教育意义的内容,而不是“需要更多字符才能回答” - 需要更多字符是有原因的。 - Mathias R. Jessen$text = $text -split " "
只要您的水果名称中没有想要保持在一起的两个单词,这段代码就可以正常工作。
split
函数,例如:$Text -split ' '
- Hackerman