在ruby中分割字符串并重新排序

时间:2018-03-06 23:08:09

标签: arrays ruby string split

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

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

任何帮助表示赞赏!

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

3 个答案:

答案 0 :(得分:1)

你可以加入这两部分:

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

name_shuffler "one two" # => "two one"

虽然你想要考虑处理没有空格的输入,或者更多的名称而不是两个。

答案 1 :(得分:1)

def name_shuffler(str)
  str.split(" ").reverse.join(" ")
end

name_shuffler("John Doe") #=> "Doe John"

答案 2 :(得分:0)

正则表达方式。

drive = [File_1, File_2, File_3 , File_4, File_5]
new_list_1 = [File_1, File_2, File_3, File_4]  # leaving out File_5
new_list_2 = [File_1, File_2, File_3, File_5]  # leaving out File_4
new_list_3 = [File_1, File_2, File_4, File_5]  # leaving File_3

旋转方式。

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