有没有办法在powershell中回显显示转义字符的字符串?我正在寻找类似于python中repr
函数的东西。我想用它进行调试。
例如:
>>$var="abc`ndef"
>>echo $var
输出:
abc
def
期望的输出:
"abc`ndef"
or
abc`ndef
答案 0 :(得分:2)
这将取消用'
替换它因此最后是-replace
:
$var="abc`ndef"
$var = [System.Text.RegularExpressions.Regex]::Escape($var) -replace '\\','`'
echo $var
输出:
abc`ndef
答案 1 :(得分:1)
我知道这不是你想要的,但可以正常工作:)
function Get-EscapedString([string] $String) {
$escape = @{
"`0"='`0';
"`a"='`a';
"`b"='`b';
"`f"='`f';
"`n"='`n';
"`r"='`r';
"`t"='`t';
"`v"='`v'
}
$str = $String
foreach ($char in $escape.Keys) {
$str = $str -replace $char, $escape[$char]
}
$str
}
答案 2 :(得分:-1)
使用单引号包围字符串,并且不会解释转义序列:
"abc`ndef"
输出
abc
def
但
'abc`ndef'
输出
abc`ndef