簡體   English   中英

試圖保留一些轉義字符..而不是其他。 紅寶石路軌

[英]trying to keep some escape characters.. but not others. ruby rails

我在正確格式化字符串時遇到麻煩。 我正在從文件中讀取字符串,並嘗試將其用作js代碼。

file_line = blah'blah"blah
string = line.gsub(/'/, "\\\'").gsub(/"/, "\\\"").dump

我希望輸出為:

blah\'blah\"blah

但我似乎無法正確格式化。 我已經嘗試了很多東西。

我會使用一個單一的gsub匹配兩種, '" ,連同塊前面加上一個\\

line = %q{blah'blah"blah}

string = line.gsub(/["']/) { |m| "\\#{m}" }
#=> "blah\\'blah\\\"blah"

puts string

輸出:

blah\'blah\"blah
string = "blah'blah\"blah"
puts string.gsub(/'/,"\\\\'").gsub(/"/,'\"') # => blah\'blah\"blah

這里有很多逃避過程。 老實說,我不太了解第一個,但是第二個很簡單。 我認為在第一個中,我們轉義了要添加的反斜杠,然后轉義了這兩個反斜杠,以避免ruby將它們解釋為對字符串的引用。 或者其他的東西。 嘗試執行單級轉義會產生以下結果:

puts string.gsub(/'/,"\\'").gsub(/"/,'\"') # => blahblah\"blahblah\"blah

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM