PowerShell: - 使用前导$符号

时间:2017-04-28 18:11:51

标签: shell powershell replace powershell-v2.0

我的目标: 我想通过一个替换字符串中某些关键字的函数来改变字符串变量。

问题:需要更换的关键字由前导 $ 标识。

我的代码:

function ReplaceStuff{
    param([string]$text=$(throw 'text is required.'))
    $text -replace  "`$uid" , $UserId
}

注意:ReplaceStuff函数位于主脚本引用的另一个.ps1文件中,但我不认为这与该问题有任何关系,因为没有$符号就可以正常工作

$mainText = ReplaceStuff($mainText)
echo $mainText

OUTPUT:(与原始变量中的文字没什么不同)

  

blah blah blah $ uid

我一直在寻找网络。虽然我发现了类似的问题但实际上并没有对我有用。我发现匹配我的确切问题的最接近的事情是在$中添加了tick(`),但它并不适合我。

1 个答案:

答案 0 :(得分:1)

只需使用单引号,即使字符串文字并使用反斜杠转义$ regex标记:

$text -replace  '\$uid' , $UserId

前一个问题:Passing string included dollar signs to -Replace Variable