我有一个像
这样的字符串"car\"
我将在postgres db中存储。我想在保存之前从字符串中删除反斜杠。有没有办法可以用ruby或postgres做到这一点?当我尝试在ruby中删除它时,它会将反斜杠后的引号视为转义字符。
答案 0 :(得分:30)
请参阅以下代码:
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 >
答案 1 :(得分:2)
删除尾部反斜杠:
"car\\".gsub!(/\\$/, "")
请注意,反斜杠必须使用反斜杠进行转义。
答案 2 :(得分:2)
人们不会这么做,但Ruby的String类支持:
irb(main):002:0> str = 'car\\'
=> "car\\"
irb(main):003:0> str[/\\$/] = ''
=> ""
irb(main):004:0> str
=> "car"
这是条件搜索尾随'\',并替换为空字符串。
答案 3 :(得分:0)
puts '"car\"'.gsub(/\\(")?$/, '\1')
会这样做, 但是,尾随的斜线总是在en后跟一个引用吗?
答案 4 :(得分:-2)
看看
的内容str.dump
操作,然后尝试操作。