是否可以将数组['a', 'b', 'c']
连接到字符串"a, b and c"
?
但['a', 'b']
应转换为"a and b"
。
答案 0 :(得分:7)
Rails提供to_sentence
帮助程序:
> ['a', 'b'].to_sentence
=> "a and b"
> ['a', 'b', 'c'].to_sentence
=> "a, b, and c"
如果您想要a, b and c
而不是a, b, and c
,则可以更改last_word_connector
:
> ['a', 'b', 'c'].to_sentence(last_word_connector: " and ")
=> "a, b and c"
答案 1 :(得分:2)
a = %w{ a b }
str = a[0..-3].each_with_object("") do |item, res|
res << "#{item}, "
res
end
str << "#{a[-2]} and #{a[-1]}"
p str
答案 2 :(得分:1)
a = ['a', 'b', 'c']
result = a[0...-1].join ', '
result += " and #{a[-1]}" if a.length > 1
result # => a, b and C
a = ['a', 'b']
result = a[0...-1].join ', '
result += " and #{a[-1]}" if a.length > 1
result # => a and b