在PowerShell中替换子字符串

时间:2013-02-16 17:17:02

标签: powershell replace

我有一个-content-形式的字符串,我想用&content&替换它。如何在PowerShell中替换?

2 个答案:

答案 0 :(得分:14)

PowerShell字符串只是.NET字符串,因此您可以:

PS> $x = '-foo-'
PS> $x.Replace('-', '&')
&foo&

...或:

PS> $x = '-foo-'
PS> $x.Replace('-foo-', '&bar&')
&bar&

显然,如果要保留结果,请将其分配给另一个变量:

PS> $y = $x.Replace($search, $replace)

答案 1 :(得分:10)

内置的-replace运算符允许您使用正则表达式,例如:

C:\PS> '-content-' -replace '-([^-]+)-', '&$1&'
&content&

请注意,在替换字符串中使用单引号是必不可少的,因此PowerShell不会解释$ 1捕获组。