13

我在表单中有一个字符串-content-,我想用&content&. 如何使用 PowerShell 中的替换来做到这一点?

4

2 回答 2

18

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

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

...或者:

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

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

PS> $y = $x.Replace($search, $replace)
于 2013-02-16T17:19:41.813 回答
17

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

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

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

于 2013-02-16T17:51:23.020 回答