How to split a string content into an array of str

2020-05-30 10:48发布

问题:

I have a string that has email addresses separated by semi-colon:

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

How can I split this into an array of strings that would result as the following?

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

回答1:

As of PowerShell 2, simple:

$recipients = $addresses -split "; "

Note that the right hand side is actually a case-insensitive regular expression, not a simple match. Use csplit to force case-sensitivity. See about_Split for more details.



回答2:

[string[]]$recipients = $address.Split('; ',[System.StringSplitOptions]::RemoveEmptyEntries)


回答3:

Remove the spaces from the original string and split on semicolon

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

Or all in one line:

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

$addresses becomes:

@('foo@bar.com','boo@bar.com','zoo@bar.com')