替代轉義字符我有這個字符串:無法在字符串
str = "no,\"contact_last_name\",\"token\""
=> "no,\"contact_last_name\",\"token\""
我想刪除逃脫雙引號的字符串的字符\"
。我用gsub
:
result = str.gsub('\\"','')
=> "no,\"contact_last_name\",\"token\""
看來,字符串中的字符串並沒有取代雙引號轉義字符。
我爲什麼要這麼做?我有這個csv文件:
no,"contact_last_name","token",company,urbanization,sec-"property_address","property_address",city-state-zip,ase,oel,presorttrayid,presortdate,imbno,encodedimbno,fca,"property_city","property_state","property_zip"
1,MARIE A JEANTY,1083123,,,,17 SW 6TH AVE,DANIA BEACH FL 33004-3260,Electronic Service Requested,,T00215,12/14/2016,00-314-901373799-105112-33004-3260-17,TATTTADTATTDDDTTFDDFATFTDDDTTFADTTDFAAADDATDAATTFDTDFTTAFFTTATFFF,017,DANIA BEACH,FL, 33004-3260
當我嘗試使用CSV打開它,我收到以下錯誤:一旦我刪除了第一行(標題)在那些雙引號中的字符串
CSV.foreach(path, headers: true) do |row|
end
CSV::MalformedCSVError: Illegal quoting in line 1.
,錯誤消失了。所以,我想我之前通過CSV運行它來刪除這些雙引號字符串:
file = File.open "file.csv"
contents = file.read
"no,\"contact_last_name\",\"token\" ... "
contents.gsub!('\\"','')
如此反覆,我的問題是,爲什麼是GSUB不刪除指定的字符?請注意,此實際工作:
contents.gsub /"/, ""
就好像字符串忽略\字符。
怎麼樣string.delete('「\') – Brad
@Brad我想我找到了解決方案:contents.gsub /」/,「」 – Donato
請閱讀「[mcve]」。請不要使用指向所需輸入數據的鏈接,而應將其減少到複製問題所需的最低限度。鏈接腐爛然後破裂,當他們做這個問題將不會像它將是如果你使它獨立。 –