2012-06-30 129 views
1

我想將下面一行中的帶引號的字符串完全按照原樣獲取到字符串中,但是我正在絆倒Ruby的必要轉義序​​列。 mycommand.cmd實際上是powershell.exe的一個包裝,因此我想保留引號之間的所有內容,並保留已存在的轉義字符。Ruby字符串轉義字符

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

回答

4

使用單引號:

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

在單引號唯一的轉義字符:\'\\

+0

你逃脫雙引號,是故意的嗎?如果不是隻在前面添加%。 – pguardiario

+0

@pguardiario Kassym沒有雙重轉義引號,Ruby在響應時將相同字符串的表示形式作爲雙引號字符串進行響應。它們是等價的。 –

+0

沒錯。他沒有做,紅寶石做到了。在他輸入讓紅寶石做的那些事情之後。感謝您清理那個;) – pguardiario