在我的情况下,我会有一个看起来像这样的字符串。
$emailList = "example@mail.com
example2@mail.com
example3@mail.com"
如何将其移植到没有空格的数组中,因此它看起来像
$emailList = @("example@mail.com","example2@mail.com","example3@mail.com"
答案 0 :(得分:6)
根据评论,如果你这样做:
($emailList -split '\r?\n').Trim()
它使用-split
根据新行/返回字符将列表分成数组,然后使用.Trim()
删除每个字符串两侧的任何空格。
在此之后,结果现在已经是一个数组。但是,如果您明确希望输出为由双引号括起的逗号分隔字符串列表,则可以执行以下操作:
(($emailList -split '\r?\n').Trim() | ForEach-Object { '"'+$_+'"' }) -Join ','
使用ForEach-Object
在每个条目周围添加引号,然后使用-Join
将它们与,
相关联。
答案 1 :(得分:0)
$emailList = "example@mail.com
example2@mail.com
example3@mail.com"
$emailList.Split([Environment]::NewLine,[Stringsplitoptions]::RemoveEmptyEntries).trim()
答案 2 :(得分:0)
-split 在左侧拆分可变空白:
$emailList = -split 'example@mail.com
example2@mail.com
example3@mail.com'
$emailList
example@mail.com
example2@mail.com
example3@mail.com
你也可以形成一个数组list this。 @() 几乎不需要。
$emailList = 'example@mail.com','example2@mail.com','example3@mail.com'
或者作为快捷方式(echo 是写输出的别名):
$emailList = echo example@mail.com example2@mail.com example3@mail.com