'-replace' 变量输出的各个部分,只匹配整个单词和单词

问题描述

在这里有这条线:

 Foreach ($Report in $ReportToGroup -replace xxxx { 

它返回以下内容

 WARNING: @{name=Report to firstname.lastname} removed

我试图排除@{name=},虽然我可以删除@、= 和两个大括号

-replace '[@{=}]',''

但是我一直无法弄清楚如何删除名称”这个词。如果我尝试以下操作:

-replace '[@{name=}]',''

它还删除了这些字母的其他实例。有没有办法匹配整个单词但排除单个出现的字母?

解决方法

不清楚您的问题是什么 - 您在这里有几个问题可能应该单独提出。

至少对于正则表达式,如果搜索字母序列,请不要将单词放在方括号中。 [name] 表示字母 n、a、m、e 中的任何一个。

示例-

$InputString = 'WARNING: @{name=Report to firstname.lastname} removed' 
$InputString -replace '@{name=|}',''

退货

WARNING: Report to firstname.lastname removed