首页 > 解决方案 > 如何使用 ruby​​ 在两个新行上拆分文本

问题描述

在我的 RoR 应用程序中,我有一个文本区域,并且想将其内容分成单独的段落。文本格式如下:

Berlin.
Rome.
London.

Paris.
Warsaw.
New York City.

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

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

如何做到这一点?我想我需要使用 split 方法但是如何定位两条新线?

标签: ruby-on-railsruby

解决方案


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

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

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

<% text.split("\n\n").each do |paragraph| %>
 <p>
    <%= paragraph.gsub("\n"," ") %>
  </p>
<% end %>

您也可以参考如何从 Ruby 字符串中删除字符串“\n”?


推荐阅读