"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
您必须将搜索字符串中的反斜杠加倍。 –