如何删除与模式不匹配的行?

时间:2018-02-01 13:53:16

标签: powershell powershell-v2.0 powershell-v3.0 powershell-v4.0

我想从与模式不匹配的变量中删除行,并使用PowerShell将输出保存到另一个变量。

考虑带有内容的变量$value

"1609.68956.43566"
"1699809.89.412"
"1699.68.436"
"1699809.956.6"
"Heloo\this is"
"HI"

要求除去匹配模式" 16 *"

之外的所有行

预期输出

"1609.68956.43566"
"1699809.89.412"
"1699.68.436"
"1699809.956.6"

尝试搜索但无法找到命令

1 个答案:

答案 0 :(得分:0)

现在我在Powershell v5上做了这个,所以如果这不适用于Powershell v2 ... oops。无论如何,您应该使用RegEx来匹配模式。

$newvariable = $value -match "^16"

这会将匹配值从$value分配到$newvariable; "^16"告诉它匹配以16开头的任何内容,它不会匹配以任何其他内容开头的任何内容(例如,2016年赢了并且匹配)。