"car\"
一個字符串,我將在postgres的分貝存儲。我想在保存之前從字符串中刪除反斜槓。有沒有辦法在ruby或postgres中做到這一點?當我嘗試在ruby中刪除它時,它將反斜槓後的引號視爲轉義字符。
"car\"
一個字符串,我將在postgres的分貝存儲。我想在保存之前從字符串中刪除反斜槓。有沒有辦法在ruby或postgres中做到這一點?當我嘗試在ruby中刪除它時,它將反斜槓後的引號視爲轉義字符。
請參見下面的代碼:
1.9.3p125 :022 > s = "cat\\"
=> "cat\\"
1.9.3p125 :023 > puts s
cat\
=> nil
1.9.3p125 :024 > s.chomp("\\")
=> "cat"
1.9.3p125 :025 >
Ruby的chomp方法是爲此目的而設計的。 http://www.ruby-doc.org/core-1.9.3/String.html#method-i-chomp – scarver2
要刪除尾部的反斜槓:
"car\\".gsub!(/\\$/, "")
注意反斜槓必須用一個反斜槓轉義本身。
人不這樣做了,但Ruby的String類支持:
irb(main):002:0> str = 'car\\'
=> "car\\"
irb(main):003:0> str[/\\$/] = ''
=> ""
irb(main):004:0> str
=> "car"
它是末尾的「\」,並替換爲空字符串的條件搜索。
問題是我的rails應用程序從前端收到一個尾隨的反斜槓(錯誤地由用戶),我需要存儲在數據庫中。如何處理這種情況的任何線索? – Ari53nN3o
這就是示例演示的內容。一個尾隨的反斜槓。 'car \\'創建一個包含單個尾部反斜槓的字符串。最後一行顯示單個尾部反斜槓被刪除。 –
puts '"car\"'.gsub(/\\(")?$/, '\1')
,將做到這一點,但 ,是最後的斜線總是在連接之後報價?
是的,它總是跟着一個引號.. – Ari53nN3o
'/ \\(「)* $ /'是處理可能的尾隨引用非常尷尬的方式,實際上意味着」零個或多個「尾隨引號 –
@the_Tin_Man:你是對的,我的意思是(「)?,不是(」)* – thebugfinder
您必須將搜索字符串中的反斜槓加倍。 –