我有以下powershell代码:
$Credentials = 'Credentials: myacct1,myacct2'
$runtimes = $Credentials -match "Credentials: (?<content>.*)"
$runtimeList = $matches['content']
Foreach ($runtime in $runtimeList)
{
Write-Host $runtime
},它只返回我希望它在列表中迭代的myacct1,myacct2
myacct1
myacct2发布于 2018-09-21 18:08:50
我非常肯定,您只需要使用,使用String.Split()来拆分匹配的字符串。
$Credentials = 'Credentials: myacct1,myacct2'
$runtimes = $Credentials -match "Credentials: (?<content>.*)"
$runtimeList = $matches['content'].Split(",")
Foreach ($runtime in $runtimeList)
{
Write-Host $runtime
}
# Output:
# myacct1
# myacct2发布于 2018-09-23 03:22:47
为了提供更好的PowerShell-惯用解决方案:
PS> 'Credentials: myacct1,myacct2' -replace '^Credentials: ' -split ','
myacct1
myacct2-replace '^Credentials: '从字符串中剥离前缀Credentials:(用(隐含的)空字符串替换它)。-split ','通过,将剩余的字符串拆分成一个令牌数组。https://stackoverflow.com/questions/52449006
复制相似问题