複数行の文字列を取得しました。例:
string = "line1\nline2\nline3"
HTML順不同リストで自分のページに印刷する必要があります。
@LeonidLukin によって提案された String#each_line または @jcubic によって提案された String#split + Array#join のいずれかを使用できます。彼のコードは最後に空の行項目を作成するため、jcubic のソリューションよりも次の方法を好みます。
<ul>
<% string.each_line do |line| %>
<li><%= line.chomp %></li>
<% end %>
</ul>
皆さんありがとう!私はそれをこのようにしました:
<ul>
<%
string = "line1\nline2\nline3"
lines = string.split("\n")
lines.each do |line|
%>
<li><%= line %></li>
<% end %>
</ul>
でも今は使ってみたいString.html#method-i-each_lin
Rubyではこれを行います:
"<ul><li>" + ("line1\nline2\nline3".split("\n").join("</li><li>")) + "</li></ul>"
分割+結合の回答と同じですが、gsubを使用できることのみ:
"<ul><li>"+"line1\nline2\nline3".gsub("\n", "</li><li>")+"</li></ul>"