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