Powershell 试图用“替换”替换变量中的字符串&引用;

Powershell 试图用“替换”替换变量中的字符串&引用;,powershell,powershell-3.0,Powershell,Powershell 3.0,我相信这是一个简单的问题,但我还没有找到解决方案,我花了几个小时试图找出为什么它不起作用 在变量中有一个字符串:\u webconfig=new Object() 我想在它后面插入一行文字 我试着使用-replace来实现它,但它不能正常工作,因为函数将“命中”不止一次,从而导致模式x2 这是我现在使用的代码(不起作用),因为: $Pattern = "_webconfig = new Object();" $replaceWith = "$Pattern `n_webconfig.$ke

我相信这是一个简单的问题,但我还没有找到解决方案,我花了几个小时试图找出为什么它不起作用

在变量中有一个字符串:
\u webconfig=new Object()
我想在它后面插入一行文字

我试着使用
-replace
来实现它,但它不能正常工作,因为函数将“命中”不止一次,从而导致模式x2

这是我现在使用的代码(不起作用),因为
$pattern
变量末尾的code>:

 $Pattern = "_webconfig = new Object();"
 $replaceWith =  "$Pattern `n_webconfig.$key = `"$value`";"       

 # write-Host "Pattern: $Pattern, replaceWith: $replaceWith"
 $text= $text -replace $pattern, $replaceWith
  • 最后的变量
    $text
    将是
    js
    文件,它需要有
    位于每行末尾
我想要的结果是:

_webconfig = new Object();
将成为:

_webconfig = new Object();
_webconfig.env = "dev";
_webconfig.ServicesAppName= "Services";
  • 包含正确值的“键”和“值”

我怎样才能做到这一点呢?

由于有两个括号,您可能只需转义
正则表达式字符串:

$Pattern = "_webconfig = new Object();"
$replaceWith =  "$Pattern `n_webconfig.$key = `"$value`";"       

$text= $text -replace [regex]::Escape($pattern), $replaceWith

如果
只是字符串,则使用
字符串。替换

$Pattern = "_webconfig = new Object();"
$replaceWith =  "$Pattern `n_webconfig.$key = `"$value`";"       

# write-Host "Pattern: $Pattern, replaceWith: $replaceWith"
$text= $text.Replace($pattern, $replaceWith)

要在
\u webconfig=new Object()之后添加代码行?什么是
?它是一个字典还是两个数组?
key
value
只是我在这个函数中得到的字符串
函数Replace add update($text,$key,$value)