我有一个包含多行的字符串。例如:
string = "line1\nline2\nline3"
我需要在HTML无序列表的页面上打印出来。
答案 0 :(得分:2)
您可以使用@LeonidLukin建议的String#each_line或@jcubic建议的String#split + Array#join。我更喜欢以下jcubic的解决方案,因为他的代码在最后创建了一个空行:
<ul>
<% string.each_line do |line| %>
<li><%= line.chomp %></li>
<% end %>
</ul>
答案 1 :(得分:0)
在Ruby中我会这样做:
"<ul><li>" + ("line1\nline2\nline3".split("\n").join("</li><li>")) + "</li></ul>"
答案 2 :(得分:0)
谢谢大家! 我是这样做的:
<ul>
<%
string = "line1\nline2\nline3"
lines = string.split("\n")
lines.each do |line|
%>
<li><%= line %></li>
<% end %>
</ul>
但现在我想尝试使用String.html#method-i-each_lin
答案 3 :(得分:0)
与split + join的答案相同,只有你可以使用gsub:
"<ul><li>"+"line1\nline2\nline3".gsub("\n", "</li><li>")+"</li></ul>"