2017-06-06 4 views
4

に文字列を変換しますPowerShellの私は、変更するにはどうすればよいのアレイ

$Text = @("Apple", "Pear", "Peach", "Banana") 

$Text = "Apple Pear Peach Banana" 

を私はforeachループに配列を供給するために計画しています。入力はユーザーの間にスペースを入れて果物を入力するよう促されます(私はそのためにRead-Hostを使用します)。したがって、スペースで区切られた文字列をforeachループの配列に変換する必要があります。

+1

あなたは 'split'のように使用することができます:' $ Text.Split(約有益なまたは教育的 '$テキスト-split '「' – Hackerman

答えて

0

$ Text.Split(」「)...ありがとう

答えのためのより多くの文字を必要としています。

+0

セイ何かを''))ではなく、より多くの文字が必要な理由があります。 –

+0

すばやい返信ありがとう...しかし、二重引用符などで配列に分割された単語を追加するにはどうすればよいですか?読み込みホスト経由でこれを行う方法はありますか?つまり、ユーザーが何を入力するかは配列に入ります?単語やスペースではなく? – nixgeek

+0

Ok今私はforeachループで$ Text.Splitを使うことができます。つまりforeach($ F in Text.Split( '')) – nixgeek

1

利用スプリット()

$text = $text.Split(" ") 
0
$text = $text -split " " 

は、あなたの果物の名前のどれもが、あなたが一緒に保存しておきたい二つの単語ではないことを提供し、動作します。

+0

このエクササイズではフルーツが使用されます。 – nixgeek

4

私はそうのように、-split regex operatorを使用します。あなたはまた、foreach()ループ宣言で直接使用することができます

$text = -split $text 

:(上記のような)単項モードで

foreach($fruit in -split $text) 
{ 
    "$fruit is a fruit" 
} 

を、 -splitdefaults toデリメータで分割する\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 
+0

ああこれはいいです..ありがとう! – nixgeek

関連する問題