我的目标: 我想通过一个替换字符串中某些关键字的函数来改变字符串变量。
问题:需要更换的关键字由前导 $ 标识。
我的代码:
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(`),但它并不适合我。
答案 0 :(得分:1)
只需使用单引号,即使字符串文字并使用反斜杠转义$ regex标记:
$text -replace '\$uid' , $UserId
前一个问题:Passing string included dollar signs to -Replace Variable