'-replace'变量输出的各个部分,匹配整个单词和单词
'-replace' various parts of a variable's output, matching whole word and word only
因此,在编写此 PowerShell 脚本时,控制台的部分输出包括“删除 First.Last 的警告报告”。这就是我的意图,但我真正得到的是:
WARNING: @{name=Report to firstname.lastname} removed
我试图排除 @{name=} 意思是每个字符和那个顺序。所以我可以用
删除@、= 和两个花括号
-replace '[@{=}]',''
但是我一直想不出如何删除 'name' 这个词。如果我尝试这样的事情:
-replace '[@{name=}]',''
它还会删除这些字母的其他实例。有没有办法匹配整个单词但排除字母的单次出现?
不清楚您的问题是什么 - 您在这里有几个问题可能应该单独提出。
至少对于正则表达式,如果搜索字母序列,不要将单词放在方括号中。 [name] 表示字母 n、a、m、e 中的任何一个。
示例-
$InputString = 'WARNING: @{name=Report to firstname.lastname} removed'
$InputString -replace '@{name=|}',''
Returns
WARNING: Report to firstname.lastname removed
因此,在编写此 PowerShell 脚本时,控制台的部分输出包括“删除 First.Last 的警告报告”。这就是我的意图,但我真正得到的是:
WARNING: @{name=Report to firstname.lastname} removed
我试图排除 @{name=} 意思是每个字符和那个顺序。所以我可以用
删除@、= 和两个花括号-replace '[@{=}]',''
但是我一直想不出如何删除 'name' 这个词。如果我尝试这样的事情:
-replace '[@{name=}]',''
它还会删除这些字母的其他实例。有没有办法匹配整个单词但排除字母的单次出现?
不清楚您的问题是什么 - 您在这里有几个问题可能应该单独提出。
至少对于正则表达式,如果搜索字母序列,不要将单词放在方括号中。 [name] 表示字母 n、a、m、e 中的任何一个。
示例-
$InputString = 'WARNING: @{name=Report to firstname.lastname} removed'
$InputString -replace '@{name=|}',''
Returns
WARNING: Report to firstname.lastname removed