回显字符串显示转义字符

时间:2015-10-12 21:36:36

标签: powershell

有没有办法在powershell中回显显示转义字符的字符串?我正在寻找类似于python中repr函数的东西。我想用它进行调试。

例如:

>>$var="abc`ndef"
>>echo $var

输出:

abc
def

期望的输出:

"abc`ndef"
or
abc`ndef

3 个答案:

答案 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