繁体   English   中英

Ruby-第一个字后换行

[英]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 %>

Modelattribute替换"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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM