我有一个字符串数组,每个字符串都有任意的单词和任意数量的单词。对于每个字符串,我只需要收集第一个和最后一个单词。我可以做的第一个或最后一个:ruby从字符串中收集第一个和最后一个单词
a = vs.split("\n").
select { |i| i =~ /^\s+\d/ }.
collect { |i| i.scan(/\w+/).<first or last> }
但不适合首先和最后。有什么建议么?
我有一个字符串数组,每个字符串都有任意的单词和任意数量的单词。对于每个字符串,我只需要收集第一个和最后一个单词。我可以做的第一个或最后一个:ruby从字符串中收集第一个和最后一个单词
a = vs.split("\n").
select { |i| i =~ /^\s+\d/ }.
collect { |i| i.scan(/\w+/).<first or last> }
但不适合首先和最后。有什么建议么?
Array#values_at
应该做的伎俩:
str = "a b c d e"
str.scan(/\w+/).values_at(0, -1)
#=> ["a", "e"]
你可以做以下也:
str = "I am a boy"
[str[/^\w+/],str[/\w+$/]]
# => ["I", "boy"]
请给一些样品的输入和预期的输出也。只有代码是没有意义的.. –