35

電子メール アドレスがセミコロンで区切られた文字列があります。

$address = "foo@bar.com; boo@bar.com; zoo@bar.com"

これを次のような文字列の配列に分割するにはどうすればよいですか?

[string[]]$recipients = "foo@bar.com", "boo@bar.com", "zoo@bar.com"
4

3 に答える 3

58

PowerShell 2 の時点では、単純です。

$recipients = $addresses -split "; "

右側は実際には大文字と小文字を区別しない正規表現であり、単純な一致ではないことに注意してください。csplit大文字と小文字の区別を強制するために使用します。詳細については、 about_Splitを参照してください。

于 2013-06-10T16:28:58.897 に答える
12
[string[]]$recipients = $address.Split('; ',[System.StringSplitOptions]::RemoveEmptyEntries)
于 2013-06-10T16:24:35.770 に答える
9

元の文字列からスペースを削除し、セミコロンで分割します

$address = "foo@bar.com; boo@bar.com; zoo@bar.com"
$addresses = $address.replace(' ','').split(';')

またはすべて 1 行で:

$addresses = "foo@bar.com; boo@bar.com; zoo@bar.com".replace(' ','').split(';')

$addressesになります:

@('foo@bar.com','boo@bar.com','zoo@bar.com')
于 2013-06-10T16:26:23.430 に答える