Skip to content

Instantly share code, notes, and snippets.

@ChanChar
ChanChar / total_from_string.rb
Created January 16, 2017 19:07
Parse and sums the integers within a sentence.
# Scan a given string for only numbers.
# Transform to int and add to a running total.
def total_from_string(str)
str.scan(/(\d+)/).flatten.reduce(0) { |total, value| total += value.to_i }
end
puts total_from_string("In 2015, I want to know how much does iPhone 6+ cost?") == 2021 # True
puts total_from_string("Also splits floats like 3.4 correctly") == 7 # True
puts total_from_string("Ignores integer signs such as -123 and +123") == 246 # True