Ruby - 在第一个单词后打破一行

时间:2014-04-05 22:10:13

标签: ruby-on-rails ruby regex

我有一个ActiveRecord模型的属性我要打印到ERB模板,我需要在第一个单词后插入一个
标签。这是一个例子:

“Tori Atkins赢得”需要阅读:

Tori<br />
Atkins Wins

我假设这应该用正则表达式处理,但我不确定如何。有人可以帮忙吗?

感谢。

3 个答案:

答案 0 :(得分:0)

如何在ERB中执行此操作:

<% "Tori Atkins Wins".split(" ",2).each do |str| %>
   <%=  str %> <br>
<% end %>

"Tori Atkins Wins"替换为attribute的{​​{1}}。

以下是它在irb中的表现:

Model

答案 1 :(得分:0)

这是一种做法

<% split_attribute = @model.attribute.split(" ") %>
<%= split_attribute.shift %>
<%= split_attribute.join(" ") %> 

shift弹出数组中的元素。 shift(n)从数组的开头弹出n个元素。

例如,

   >> a = [1,2,3,4,5]
   >> a.shift
   => 1
   >> a 
   => [2,3,4,5]

答案 2 :(得分:0)

使用sub

> "Tori Atkins Wins".sub(' ', '<br />')                    
=> "Tori<br />Atkins Wins"