簡體   English   中英

用Ruby顯示字符串中的第一個Word

[英]Display first Word in String with Ruby

我在rails上使用ruby,我只想顯示字符串的第一個單詞。

我破碎的代碼: <%= @user.name %>顯示Barack Obama

我想讓它展示Barack和其他地方的Obama

我該如何拆分並顯示它?

> "this is ruby".split.first
#=> "this"

簡短易讀:

name = "Obama Barack Hussein"
puts "#{name.partition(" ").first} - #{name.partition(" ").last}"
# Obama - Barack Hussein

如果第一個和最后一個名字的順序顛倒過來

name = "Barack Hussein Obama"
puts "#{name.rpartition(" ").last} - #{name.rpartition(" ").first}"
# Obama - Barack Hussein

讓我們說你有:

string = "Barack Obama"
split_string = string.split()

在ruby文檔中:

如果省略pattern,則$;的值; 用來。 如果$; 是nil(這是默認值),str在空格上分割,就像指定了`'一樣。

之后使用split_string[0] # ==> Barack ou split_string[1] # ==> Obama

你可以簡單:

# `split` default is split by space `' '`
<%= @user.name.split.first %>

我建議您進一步閱讀有關裝飾器的內容 ,您可以在其中定義類似的方法(或者您也可以依賴幫助器):

# It will give you 'Barack'
def first_name
  name.split.first
end

# It will give you 'Obama'
def last_name
  name.split.last
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM