[英]Ruby - Break a line after first word
我有一个要打印到ERB模板的ActiveRecord模型的属性,我需要插入一个
在第一个单词之后加标签。 这是一个例子:
“ Tori Atkins获胜”需要阅读:
Tori<br />
Atkins Wins
我假设这应该用正则表达式处理,但是我不确定如何处理。 有人可以帮忙吗?
谢谢。
在ERB
如何做:
<% "Tori Atkins Wins".split(" ",2).each do |str| %>
<%= str %> <br>
<% end %>
用Model
的attribute
替换"Tori Atkins Wins"
。
这是irb的样子:
2.1.0 :106 > "Tori Atkins Wins".split(" ",2)
=> ["Tori", "Atkins Wins"] ## Returns an array with 2 elements
这是做到这一点的一种方法
<% 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]
使用sub
:
> "Tori Atkins Wins".sub(' ', '<br />')
=> "Tori<br />Atkins Wins"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.