如何使用ruby在两个新行上分割文本

How to split text on two new lines with ruby

在我的RoR应用程序中,我有一个文本区域,并希望将其内容拆分为单独的段落。文本具有以下格式:

1
2
3
4
5
6
7
Berlin.
Rome.
London.

Paris.
Warsaw.
New York City.

显示时,我希望将其格式化为以下段落:

1
2
<p>Berlin. Rome. London.</p>
<p>Paris. Warsaw. New York City.</p>

如何实现?我想我需要使用split方法,但是如何定位两个新行?


当您使用text.split("\
\
")
拆分文本字段值时,您将在数组中获得拆分值,即输出类似于
["Berlin.\
Rome.\
London.","Paris.\
Warsaw.\
New York City."]
。以以下方式打印值

1
2
'<p>Berlin. Rome. London.</p>
<p><center>[wp_ad_camp_2]</center></p><p>Paris. Warsaw. New York City.</p>'

需要从数组元素中删除"\
"
,并使用gsub ruby??方法添加""

1
2
3
4
5
6
7
8
<% text.split("\
\
"
).each do |paragraph| %>
 <p>
    <%= paragraph.gsub("\
"
,"") %>
  </p>
<% end %>

您也可以参考如何删除字符串" \\
是从Ruby字符串中获取的?


您可以在双换行符上拆分它,然后在视图中将其包裹在<pa>中(ERB示例)

1
2
3
4
5
6
7
<% text.split("\
\
"
).each do |paragraph| %>
  <p>
    <%= paragraph %>
  </p>
<% end %>