Extracting floats from strings
To get all float values from a sentence, we can first find them with a regular expression and then map over the matches with parseFloat
.
// matches all integer or decimal substrings, like “69” or “4.20”
const numbersRegexp = new RegExp(/\d+(\.\d+)?/, 'g')
// finds all numbers matching the expression and transforms them to numbers
const getFloatsFrom = string => string.match(numbersRegexp).map(parseFloat)
getFloatsFrom("Put the 16 cupcakes in the oven (at 180°C) for 1.5 hours.")
// ⇒ [16, 180, 1.5]