1

複数行の文字列を取得しました。例:

string = "line1\nline2\nline3"

HTML順不同リストで自分のページに印刷する必要があります。

4

4 に答える 4

2

@LeonidLukin によって提案された String#each_line または @jcubic によって提案された String#split + Array#join のいずれかを使用できます。彼のコードは最後に空の行項目を作成するため、jcubic のソリューションよりも次の方法を好みます。

<ul>
  <% string.each_line do |line| %>
    <li><%= line.chomp %></li>
  <% end %>
</ul>
于 2012-06-24T19:34:55.413 に答える
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

于 2012-06-25T09:23:44.513 に答える
0

Rubyではこれを行います:

"<ul><li>" + ("line1\nline2\nline3".split("\n").join("</li><li>")) + "</li></ul>"
于 2012-06-24T11:50:17.100 に答える
0

分割+結合の回答と同じですが、gsubを使用できることのみ:

"<ul><li>"+"line1\nline2\nline3".gsub("\n", "</li><li>")+"</li></ul>"
于 2012-06-25T12:06:01.350 に答える