Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell:-将变量中的字替换为前导$符号_Shell_Powershell_Replace_Powershell 2.0 - Fatal编程技术网

PowerShell:-将变量中的字替换为前导$符号

PowerShell:-将变量中的字替换为前导$符号,shell,powershell,replace,powershell-2.0,Shell,Powershell,Replace,Powershell 2.0,我的目标: 我希望字符串变量由替换字符串中某些关键字的函数更改 问题:需要替换的关键字由前导的$标识 我的代码: 注意:ReplaceStuff函数位于另一个由主脚本引用的.ps1文件中,但我认为这与问题无关,因为如果没有$symbol,它就可以正常工作 输出:(与原始变量中的文本没有区别) 废话废话$uid 我先在网上查了一下。虽然我发现了类似的问题,但实际上并没有什么对我有效。我发现最接近我的问题是在$上加上记号(`),但这对我不起作用。只需使用单引号,使字符串文字化,并用反斜杠转义$re

我的目标: 我希望字符串变量由替换字符串中某些关键字的函数更改

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

我的代码:

注意:ReplaceStuff函数位于另一个由主脚本引用的.ps1文件中,但我认为这与问题无关,因为如果没有$symbol,它就可以正常工作

输出:(与原始变量中的文本没有区别)

废话废话$uid


我先在网上查了一下。虽然我发现了类似的问题,但实际上并没有什么对我有效。我发现最接近我的问题是在$上加上记号(`),但这对我不起作用。

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

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

前一个问题:

$
是regex中的锚……这对我不起作用:(说得好,我认为您需要在正则表达式中使用\来转义它。@Matt您知道吗?值得注意的是,这是PowerShell 2.0。看起来您需要转义字符并使用单引号使字符串成为文字,所以请在单引号字符串中尝试\或`(反勾号)。
$mainText = ReplaceStuff($mainText)
echo $mainText
$text -replace  '\$uid' , $UserId