Ruby:如何在数组中选择和复制字符串的一部分?

时间:2016-07-31 19:32:39

标签: arrays ruby string

原谅我,我是新人!

我正在尝试从数组中选择并复制字符串的一部分;某人的姓氏。

array = ["Buffy Summers", "Willow Rosenberg", "Xander Harris", "Cordelia Chase", "Rupert Giles"]

我需要隔离和复制“Summers”,“Rosenberg”,“Harris”,“Chase”和“Giles”。基本上,我想在空格字符后面的字符串末尾选择所有内容。

我见过这个例子:

"truncate".gsub(/a.*/, '')
=> "trunc"

但是这会选择“a”之前的所有内容,而我需要在空格字符后选择所有内容。此外,这不在数组中。

2 个答案:

答案 0 :(得分:4)

这些代码可以解决问题:

surnames = array.map { |item| item.split(' ').last }

答案 1 :(得分:-1)

实施与您的建议类似的内容,我们有:

array.map { |s| s.gsub(/\w+\s+/,'') }                                       
#=> ["Summers", "Rosenberg", "Harris", "Chase", "Giles"]

array.map {|s| s.match(/\w+\z/).to_s }
#=> ["Summers", "Rosenberg", "Harris", "Chase", "Giles"]