我在轨道上使用ruby并且我只想显示字符串的第一个单词。
我损坏的代码:<%= @user.name %>
显示Barack Obama
。
我希望它显示Barack
和其他地方Obama
。
如何分割并显示它?
答案 0 :(得分:33)
> "this is ruby".split.first
#=> "this"
答案 1 :(得分:17)
简短易读:
font-family="'WTFHeadlineOT-Black',Arial,sans-serif"
如果第一个和最后一个名字的顺序颠倒了
name = "Obama Barack Hussein"
puts "#{name.partition(" ").first} - #{name.partition(" ").last}"
# Obama - Barack Hussein
答案 2 :(得分:2)
让我们说:
string = "Barack Obama"
split_string = string.split()
在ruby文档中:
如果省略pattern,则值为$;用来。如果$;是零(这是 默认情况下,str在空格上分割,就好像指定了`。
之后使用split_string[0] # ==> Barack
ou split_string[1] # ==> Obama
答案 3 :(得分:0)
你可以简单:
# `split` default is split by space `' '`
<%= @user.name.split.first %>
我建议您further reading关于decorators,您可以在其中定义类似的方法(或者您也可以依赖帮助程序):
# It will give you 'Barack'
def first_name
name.split.first
end
# It will give you 'Obama'
def last_name
name.split.last
end