0

我在使用 .gsub ir .delete 函数处理从数据库接收到的结果时遇到问题。我猜这些结果用单引号括起来,所以我得到了不同的结果:

<%= "Remove \n".delete("\n") %>
result: "Remove" 
<%= 'Remove \n'.delete("\n") %>
result: "Remove \" 

那么,如何将单引号字符串转换为双引号呢?

4

2 回答 2

1

使用 .tr 来执行这个替换操作

.tr("'",'"')
于 2013-06-16T10:50:18.530 回答
1

这与单/双引号字符串无关。您的数据库按字面意思存储反斜杠,\而不是存储换行符。

考虑以下:

irb(main):016:0> puts "Result \n"
Result
=> nil
irb(main):017:0> puts 'Result \n'
Result \n
=> nil

尝试在替换字符串中引用反斜杠:

'Remove \n'.delete("\\\\n") 
于 2013-06-16T10:56:12.057 回答