我有一堆字符串,我试图用换行符替换它们之间的空格,使用gsub:
<%= "string string string".gsub(" ","\n") %>
但由于某种原因,它只是打印为:
string string string
我做错了什么?
注意:它在IRB终端中按预期打印。我只在浏览器中遇到此问题,使用ERB进行打印。
答案 0 :(得分:1)
这对我来说很好用:
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