PowerShell解析每一行并在冒号之后提取值

时间:2019-04-30 10:30:27

标签: powershell substring

我有$body变量:

Name:john Doe

Location:New York

Role:engineer

我希望每一行都在:之后获取值。

所需的输出:

John doe
New York
engineer

到目前为止,我有以下代码:

foreach ($part in $body.Split(':')) {
    echo $part
}

当前输出:

Name
john Doe

Location
New York

Role
engineer

1 个答案:

答案 0 :(得分:0)

在不了解$ body中的数据的情况下,这应该起作用:

$body = "Name:john Doe
Location:New York
Role:engineer"

$body.split([Environment]::NewLine) | ForEach-Object {
    $_.Split(":")[1]
}

首先,我们需要分割变量中的每一行。然后,对于每一行,我们需要在“:”处进行拆分,并且由于您只需要右侧的部分,因此我们使用索引1。