1
$(foo)\bar
のすべての文字列を$(foo)\baz\bar
リテラル文字列に置き換えようとしていますが、何も展開する必要はなく、regexを使う必要はありません。PowerShell:ReplaceとContainsオペレーションのエスケープ文字
これは私のコードです:
if($myString.contains("$(foo)\bar\"))
{
$myString = $myString -replace "$(foo)\bar\","$(foo)\baz\bar\"
...
}
それは動作しません、私は完全にどのように、いつ、どこで$
、(
、\
などの文字をエスケープする迷ってしまいました。文字列に一重引用符または二重引用符を使用する必要がありますか?
これは私の試みです:
if($myString.contains("`$(foo)\\bar\\"))
{
$myString = $myString -replace '\$(foo)\\bar\\','\$(foo)\\baz\\bar\\'
...
}
'$のmyString = $ myString.Replace:メソッドは、正規表現を使用していないので、何のエスケープは必要ありません。 ' – PetSerAl