Arrays Powershell将字符串转换为数组
如何更改:Arrays Powershell将字符串转换为数组,arrays,string,powershell,foreach,Arrays,String,Powershell,Foreach,如何更改: $Text = "Apple Pear Peach Banana" 到 我计划将数组馈送到foreach循环。提示用户输入水果,中间有空格(我将使用readhost)。因此,我需要将一个空格分隔的字符串转换为foreach循环的数组 谢谢…$Text.Split(“”) 回答需要更多字符。使用Split() 如果您的水果名称中没有一个是您希望保留在一起的两个单词,则将起作用。我将使用,如下所示: $text = -split $text 您也可以在foreach()loop声明中
$Text = "Apple Pear Peach Banana"
到
我计划将数组馈送到foreach
循环。提示用户输入水果,中间有空格(我将使用readhost
)。因此,我需要将一个空格分隔的字符串转换为foreach
循环的数组
谢谢…$Text.Split(“”)
回答需要更多字符。使用Split()
如果您的水果名称中没有一个是您希望保留在一起的两个单词,则将起作用。我将使用,如下所示:
$text = -split $text
您也可以在foreach()
loop声明中直接使用它:
foreach($fruit in -split $text)
{
"$fruit is a fruit"
}
在一元模式下(如上所述),
-split
在delimeter上拆分\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
您可以使用
split
例如:$Text-split'
说一些关于$Text.split(''')
的有用或有教育意义的话,而不是“回答需要更多字符”-需要更多字符是有原因的。感谢您的快速回复。。。但是如何将拆分的单词添加到带有双引号等的数组中。。。有没有一种方法可以通过读取主机。。。i、 e.用户输入的内容进入数组?而不是文字和空格?好吧,我现在明白了。。。我可以在foreach循环中使用$Text.Split。。。。i、 e.foreach($F在Text.Split('')中)只允许在这个练习中使用一个单词fruits。。非常感谢。
$text = -split $text
foreach($fruit in -split $text)
{
"$fruit is a fruit"
}
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