如果包含子字符串,则替换整个字符串

时间:2019-07-30 10:38:42

标签: powershell

如果要包含一个特定的子字符串,我想使用替换完全替换一个字符串。该怎么办?

我尝试了以下操作,预期输出为“ STRING”:

$a="abc123STRINGabc123"
$a.replace('*STRING*','STRING')

1 个答案:

答案 0 :(得分:3)

使用-replace运算符和正则表达式。

$a = 'abc123STRINGabc123'
$b = 'abc123foobarabc123'

$srch = 'STRING'
$repl = 'GNIRTS'

$pattern = '.*{0}.*' -f [regex]::Escape($srch)

$a -replace $pattern, $repl   # output: GNIRTS
$b -replace $pattern, $repl   # output: abc123foobarabc123