如何在PowerShell中将字符串内容拆分为字符串数组?

35

我有一个字符串,里面有用分号分隔的电子邮件地址:

$address = "foo@bar.com; boo@bar.com; zoo@bar.com"
我应该如何将此拆分为一个字符串数组,其结果如下所示?
[string[]]$recipients = "foo@bar.com", "boo@bar.com", "zoo@bar.com"

3个回答

60

从PowerShell 2开始,很简单:

$recipients = $addresses -split "; "

请注意,右侧实际上是大小写不敏感的正则表达式,而不是简单匹配。使用csplit来强制区分大小写。有关更多详细信息,请参见about_Split


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

10

将原始字符串中的空格删除并按分号拆分

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

或者全部放在一行中:

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

$addresses 变成:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接