Reveal the Number

Reveal the Number

https://youtu.be/hSlffi7fMO8

You are given a string of different characters (letters, digits and other symbols). The goal is to "extract" the number from the string: concatenate only digits, number sign and "." (if present) and return the result in number format. If no number can be extracted (no digits in the given string) - return null.

Expected behavior:

  • take into consideration the LAST number sign before the FIRST digit;
  • take into consideration the FIRST dot in the string (It's guaranteed, that it goes after at least one digit or has at least one digit after). If there is a dot, return as float, otherwise - integer.

Input: String (string).

Output: Number or null.

Examples:

assert.strictEqual(revealNum("F0(t}"), 0);
assert.strictEqual(revealNum("Utc&g"), null);
assert.strictEqual(revealNum("-aB%|_-+2ADS.12+3.ADS1.2"), 2.12312);
assert.strictEqual(revealNum("-aB%|_+-2ADS.12+3.ADS1.2"), -2.12312);