拆分字符串并在红宝石中重新排序



我正在尝试重新排列包含全名的字符串,以便第二个名称显示在名字之前。

我已经设法使用以下代码拆分字符串,但是当我构建它时,它似乎以数组格式 ["第二个名字"、"名字"] 而不是字符串"第二个名字"、"名字"返回。

任何帮助表示赞赏!

def name_shuffler(str)
   name_parts = str.split(" ")
   first_name, last_name = name_parts[1], name_parts[0]
end

您可以加入这两个部分:

def name_shuffler(str)
    name_parts = str.split(" ")
    [name_parts[1], name_parts[0]].join(" ")
end
name_shuffler "one two" # => "two one"

尽管您需要考虑处理没有空格或多个名称部分的输入。

def name_shuffler(str)
  str.split(" ").reverse.join(" ")
end
name_shuffler("John Doe") #=> "Doe John"

一种正则表达式方式。

"John Smith".gsub(/(w+) (w+)/,'2 1') #=> "Smith John"

旋转方式。

"John Smith".split(' ').rotate.join(' ') #=> "Smith John"

最新更新