我有一個數組紅寶石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