2016-08-11 148 views
0

我無法找到此資源。我想用perl來避免雙引號,並且我對這種語言很陌生。轉義雙引號修復

這是我有:

$comment =~ s/\"/\\\"/g; 

它似乎並不奏效。什麼是合適的解決方案?

+1

'的perl -E「$註釋= 「一個\」 B 「;說$評論; $評論=〜S /」/ \\「/ G;再說$評論''表明你的代碼完成了自己的工作,所以問題就出現在別的地方..請向我們展示你的完整代碼,這樣我們可以提供幫助。 – Dada

+0

出於好奇,你爲什麼試圖擺脫引號? – ThisSuitIsBlackNot

+0

@ThisSuitIsBlack不是因爲某些數據有雙引號,它導致我們的xml – slicks1

回答

0

一種方法插入的事情,需要逃避,不計反斜槓

$comment =~ s/"/q(\")/eg; 

隨着/e修改更換部件被評估爲代碼,並作爲替代的結果。看到它in perlop和,例如this post。這裏用於強制一個字符串q()

但請注意,在這種簡單的情況下s/"/\"/工作正常。您的代碼中可能會有更多內容出現,或者您的引號已經溢出,在這種情況下,額外的\會影響您稍後看到的內容。

0

無計算需要:

$comment =~ s.(?=").\\.g;