原谅我,我是新人!
我正在尝试从数组中选择并复制字符串的一部分;某人的姓氏。
array = ["Buffy Summers", "Willow Rosenberg", "Xander Harris", "Cordelia Chase", "Rupert Giles"]
我需要隔离和复制“Summers”,“Rosenberg”,“Harris”,“Chase”和“Giles”。基本上,我想在空格字符后面的字符串末尾选择所有内容。
我见过这个例子:
"truncate".gsub(/a.*/, '')
=> "trunc"
但是这会选择“a”之前的所有内容,而我需要在空格字符后选择所有内容。此外,这不在数组中。
答案 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"]