我有一个数组红宝石GSUB通过阵列
arr = ['10kg','5kg','7','15kg','25']
所以我要删除所有kg
如果存在的话,返回的字符串
"'10kg','5kg','7kg','15kg','25kg'"
我已经试过
kgs = arr.split(',').gsub('kg','')+'kg'
但是不好的解决办法
我有一个数组红宝石GSUB通过阵列
arr = ['10kg','5kg','7','15kg','25']
所以我要删除所有kg
如果存在的话,返回的字符串
"'10kg','5kg','7kg','15kg','25kg'"
我已经试过
kgs = arr.split(',').gsub('kg','')+'kg'
但是不好的解决办法
['10kg','5kg','7','15kg','25'].map(&:to_i).map { |e| "#{e}kg" }
#⇒ [
# [0] "10kg",
# [1] "5kg",
# [2] "7kg",
# [3] "15kg",
# [4] "25kg"
# ]
['10kg','5kg','7','15kg','25'].map(&:to_i)
.map { |e| "'#{e}kg'" }
.join(',')
#⇒ "'10kg','5kg','7kg','15kg','25kg'"
a.map { |str| "'#{str.to_i}kg'" }.join(',')
#=> "'10kg','5kg','7kg','15kg','25kg'"
我在想同样的事情,但在现实生活中,我想我会用'''#{str [/ \ d + /]} kg'“'。 –
@CarySwoveland是的,这看起来更加真实生动。请随时使用此选项编辑答案,因为此刻我正在关闭笔记本电脑 –
最好按照原样离开。读者吃了聪明的答案。 –
如果你想添加kg
串入的所有元素祚可以只使用这个
arr.map{|s| s[/kg$/] ? s : s + 'kg'}.join(', ')
# => "10kg, 5kg, 7kg, 15kg, 25kg"
或者,如果你想为“删除是否存在,并添加如果不存在”。
arr.map{|s| s[/kg$/] ? s.gsub('kg', '') : s + 'kg'}.join(', ')
# => "10, 5, 7kg, 15, 25kg"
删除'kg'仍然在返回... –
_“删除所有千克如果存在” _ - 好像你要_add_'kg'如果它缺少。你能澄清一下吗? – Stefan
@Stefan我想删除,如果存在,并添加如果缺席:) – user2322409