[英]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.