用Ruby显示字符串中的第一个Word

时间:2015-06-05 19:22:11

标签: ruby-on-rails ruby ruby-on-rails-4 split

我在轨道上使用ruby并且我只想显示字符串的第一个单词。

我损坏的代码:<%= @user.name %>显示Barack Obama

我希望它显示Barack和其他地方Obama

如何分割并显示它?

4 个答案:

答案 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