Ruby gsub 不插入换行符
Ruby gsub doesn't insert newlines
我有一堆字符串,我试图用换行符替换它们之间的空格,使用 gsub:
<%= "string string string".gsub(" ","\n") %>
但出于某种原因,它只是打印为:
string string string
我做错了什么?
注意:它在 IRB 终端中按预期打印。我只是在我的浏览器中遇到这个问题,用 ERB 打印。
这对我来说很好用:
puts "string string string".gsub(" ","\n")
也许你有类似这样的情况:
x = "string string string"
y = x.gsub(" ","\n")
puts x
在第 2 行中,空格被替换,但 x
未修改 。
结果y
已经替换空格
要直接替换 x
中的值,您必须使用 gsub!
。
根据您的编辑:
\n
没有在 HTML 里面解释,你需要一个 <br>
。 br-tag 可能不会被屏蔽所以最后你可以在 ERB 中尝试这样的事情:
x.gsub(" ","<br/>\n").html_safe
我有一堆字符串,我试图用换行符替换它们之间的空格,使用 gsub:
<%= "string string string".gsub(" ","\n") %>
但出于某种原因,它只是打印为:
string string string
我做错了什么?
注意:它在 IRB 终端中按预期打印。我只是在我的浏览器中遇到这个问题,用 ERB 打印。
这对我来说很好用:
puts "string string string".gsub(" ","\n")
也许你有类似这样的情况:
x = "string string string"
y = x.gsub(" ","\n")
puts x
在第 2 行中,空格被替换,但 x
未修改 。
结果y
已经替换空格
要直接替换 x
中的值,您必须使用 gsub!
。
根据您的编辑:
\n
没有在 HTML 里面解释,你需要一个 <br>
。 br-tag 可能不会被屏蔽所以最后你可以在 ERB 中尝试这样的事情:
x.gsub(" ","<br/>\n").html_safe