14

我有一个字符串

"car\"

我将存储在 postgres db 中。我想在保存之前从字符串中删除反斜杠。有没有办法在 ruby​​ 或 postgres 中做到这一点?当我尝试在 ruby​​ 中删除它时,它会将反斜杠后面的引号视为转义字符。

4

5 回答 5

36

请参见以下代码:

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 > 
于 2012-10-15T14:27:15.070 回答
2

要删除尾部反斜杠:

"car\\".gsub!(/\\$/, "")

请注意,反斜杠必须使用反斜杠自行转义。

于 2012-10-15T14:27:41.937 回答
2

人们做的不多,但是 Ruby 的 String 类支持:

irb(main):002:0> str = 'car\\'
=> "car\\"
irb(main):003:0> str[/\\$/] = ''
=> ""
irb(main):004:0> str
=> "car"

这是对尾随 '\' 的条件搜索,并用空字符串替换。

于 2012-10-15T14:31:58.717 回答
0
puts '"car\"'.gsub(/\\(")?$/, '\1')

可以,但是,斜杠总是在 en 后跟引号吗?

于 2012-10-15T14:35:51.907 回答
-3

看看怎么说

str.dump

操作,然后尝试对其进行操作。

于 2012-10-15T14:37:00.733 回答