【问题标题】:Ruby string escape charactersRuby 字符串转义字符
【发布时间】:2012-06-30 02:25:18
【问题描述】:

我想将下面一行中引用的字符串完全按原样转换成一个字符串,但是我在 Ruby 的必要转义序​​列上遇到了麻烦。 mycommand.cmd 确实是 powershell.exe 的包装,所以我想保留引号之间的所有内容,并保留已经存在的转义字符。

mycommand.cmd "^|foreach-object { \"{0}=={1}\" -f $_.Name, $_.Found }"

【问题讨论】:

    标签: ruby string escaping


    【解决方案1】:

    使用单引号:

    ruby-1.9.3-p0 :001 > '^|foreach-object { \"{0}=={1}\" -f $.Name, $.Found }'
     => "^|foreach-object { \\\"{0}=={1}\\\" -f $.Name, $.Found }" 
    

    单引号中唯一的转义字符是:\'\\

    【讨论】:

    • 你双引号,是故意的吗?如果不只是在前面添加一个 %。
    • @pguardiario Kassym 没有对引号进行双重转义,Ruby 在响应时使用与双引号字符串相同的字符串表示。它们是等价的。
    • 对。他没有这样做,红宝石做到了。在他输入了让 ruby​​ 这样做的东西之后。感谢您清除它;)
    • 我会接受这个答案。我在 puppet 中为某些东西做这件事,但在其他地方通过它的处理是它没有正确处理这个。
    猜你喜欢
    • 2014-03-17
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 2012-03-03
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    相关资源
    最近更新 更多