Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Powershell将字符串转换为数组_Arrays_String_Powershell_Foreach - Fatal编程技术网

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